The dsa_slave_priv structure does not need a pointer to its net_device.
Kill it.

Signed-off-by: Vivien Didelot <vivien.dide...@savoirfairelinux.com>
---
 net/dsa/dsa_priv.h | 5 -----
 net/dsa/slave.c    | 9 ++++-----
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h
index 1d1a546..dfa3377 100644
--- a/net/dsa/dsa_priv.h
+++ b/net/dsa/dsa_priv.h
@@ -22,11 +22,6 @@ struct dsa_device_ops {
 };
 
 struct dsa_slave_priv {
-       /*
-        * The linux network interface corresponding to this
-        * switch port.
-        */
-       struct net_device       *dev;
        struct sk_buff *        (*xmit)(struct sk_buff *skb,
                                        struct net_device *dev);
 
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index 2dae0d0..3b6750f 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -673,10 +673,10 @@ static void dsa_slave_get_ethtool_stats(struct net_device 
*dev,
        struct dsa_slave_priv *p = netdev_priv(dev);
        struct dsa_switch *ds = p->parent;
 
-       data[0] = p->dev->stats.tx_packets;
-       data[1] = p->dev->stats.tx_bytes;
-       data[2] = p->dev->stats.rx_packets;
-       data[3] = p->dev->stats.rx_bytes;
+       data[0] = dev->stats.tx_packets;
+       data[1] = dev->stats.tx_bytes;
+       data[2] = dev->stats.rx_packets;
+       data[3] = dev->stats.rx_bytes;
        if (ds->drv->get_ethtool_stats != NULL)
                ds->drv->get_ethtool_stats(ds, p->port, data + 4);
 }
@@ -1063,7 +1063,6 @@ int dsa_slave_create(struct dsa_switch *ds, struct device 
*parent,
        slave_dev->vlan_features = master->vlan_features;
 
        p = netdev_priv(slave_dev);
-       p->dev = slave_dev;
        p->parent = ds;
        p->port = port;
 
-- 
2.8.0

Reply via email to