net: dsa: store CPU port pointer in the tree

A dsa_switch_tree instance holds a dsa_switch pointer and a port index
to identify the switch port to which the CPU is attached.

Now that the DSA layer has a dsa_port structure to hold this data, use
it to point the switch CPU port.

This patch simply substitutes s/dst->cpu_switch/dst->cpu_dp->ds/ and
s/dst->cpu_port/dst->cpu_dp->index/.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Vivien Didelot
2017-05-16 14:10:33 -04:00
committed by David S. Miller
parent 631581bf46
commit 8b0d3ea555
11 changed files with 30 additions and 35 deletions

View File

@@ -137,10 +137,9 @@ struct dsa_switch_tree {
const struct ethtool_ops *master_orig_ethtool_ops;
/*
* The switch and port to which the CPU is attached.
* The switch port to which the CPU is attached.
*/
struct dsa_switch *cpu_switch;
s8 cpu_port;
struct dsa_port *cpu_dp;
/*
* Data for the individual switch chips.
@@ -251,7 +250,7 @@ struct dsa_switch {
static inline bool dsa_is_cpu_port(struct dsa_switch *ds, int p)
{
return !!(ds == ds->dst->cpu_switch && p == ds->dst->cpu_port);
return ds->dst->cpu_dp == &ds->ports[p];
}
static inline bool dsa_is_dsa_port(struct dsa_switch *ds, int p)
@@ -279,10 +278,10 @@ static inline u8 dsa_upstream_port(struct dsa_switch *ds)
* Else return the (DSA) port number that connects to the
* switch that is one hop closer to the cpu.
*/
if (dst->cpu_switch == ds)
return dst->cpu_port;
if (dst->cpu_dp->ds == ds)
return dst->cpu_dp->index;
else
return ds->rtable[dst->cpu_switch->index];
return ds->rtable[dst->cpu_dp->ds->index];
}
struct switchdev_trans;