Skip to content

Commit

Permalink
net: dsa: kill circular reference with slave priv
Browse files Browse the repository at this point in the history
The dsa_slave_priv structure does not need a pointer to its net_device.
Kill it.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Vivien Didelot authored and David S. Miller committed Apr 20, 2016
1 parent 9f4ab6e commit 46e7b8d
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 10 deletions.
5 changes: 0 additions & 5 deletions net/dsa/dsa_priv.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down
9 changes: 4 additions & 5 deletions net/dsa/slave.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down Expand Up @@ -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;

Expand Down

0 comments on commit 46e7b8d

Please sign in to comment.