diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2017-06-13 16:27:19 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-06-13 16:35:02 -0400 |
commit | 6d3c8c0dd88a5ffc7e3695997641e4b6d4c11065 (patch) | |
tree | 847ec56e33c25db7042393473557a1cebfeb3788 /net/dsa/dsa.c | |
parent | 38b6ec5008bb7019a705b576df345509f39d3f4b (diff) |
net: dsa: Remove master_netdev and use dst->cpu_dp->netdev
In preparation for supporting multiple CPU ports, remove
dst->master_netdev and ds->master_netdev and replace them with only one
instance of the common object we have for a port: struct
dsa_port::netdev. ds->master_netdev is currently write only and would be
helpful in the case where we have two switches, both with CPU ports, and
also connected within each other, which the multi-CPU port patch series
would address.
While at it, introduce a helper function used in net/dsa/slave.c to
immediately get a reference on the master network device called
dsa_master_netdev().
Reviewed-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dsa/dsa.c')
-rw-r--r-- | net/dsa/dsa.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c index 517215391514..6aacc2314a8f 100644 --- a/net/dsa/dsa.c +++ b/net/dsa/dsa.c | |||
@@ -118,10 +118,7 @@ int dsa_cpu_port_ethtool_setup(struct dsa_port *cpu_dp) | |||
118 | struct net_device *master; | 118 | struct net_device *master; |
119 | struct ethtool_ops *cpu_ops; | 119 | struct ethtool_ops *cpu_ops; |
120 | 120 | ||
121 | master = ds->dst->master_netdev; | 121 | master = ds->dst->cpu_dp->netdev; |
122 | if (ds->master_netdev) | ||
123 | master = ds->master_netdev; | ||
124 | |||
125 | cpu_ops = devm_kzalloc(ds->dev, sizeof(*cpu_ops), GFP_KERNEL); | 122 | cpu_ops = devm_kzalloc(ds->dev, sizeof(*cpu_ops), GFP_KERNEL); |
126 | if (!cpu_ops) | 123 | if (!cpu_ops) |
127 | return -ENOMEM; | 124 | return -ENOMEM; |
@@ -142,9 +139,7 @@ void dsa_cpu_port_ethtool_restore(struct dsa_port *cpu_dp) | |||
142 | struct dsa_switch *ds = cpu_dp->ds; | 139 | struct dsa_switch *ds = cpu_dp->ds; |
143 | struct net_device *master; | 140 | struct net_device *master; |
144 | 141 | ||
145 | master = ds->dst->master_netdev; | 142 | master = ds->dst->cpu_dp->netdev; |
146 | if (ds->master_netdev) | ||
147 | master = ds->master_netdev; | ||
148 | 143 | ||
149 | master->ethtool_ops = ds->dst->master_orig_ethtool_ops; | 144 | master->ethtool_ops = ds->dst->master_orig_ethtool_ops; |
150 | } | 145 | } |