mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-07 15:01:44 +00:00
net: dsa: use ports list to setup multiple master devices
Now that we have a potential list of CPU ports, make use of it instead of only configuring the master device of an unique CPU port. Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com> Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
This commit is contained in:
parent
764b7e6242
commit
0cfec588ec
1 changed files with 15 additions and 7 deletions
|
@ -493,19 +493,27 @@ static void dsa_tree_teardown_switches(struct dsa_switch_tree *dst)
|
||||||
|
|
||||||
static int dsa_tree_setup_master(struct dsa_switch_tree *dst)
|
static int dsa_tree_setup_master(struct dsa_switch_tree *dst)
|
||||||
{
|
{
|
||||||
struct dsa_port *cpu_dp = dst->cpu_dp;
|
struct dsa_port *dp;
|
||||||
struct net_device *master = cpu_dp->master;
|
int err;
|
||||||
|
|
||||||
/* DSA currently supports a single pair of CPU port and master device */
|
list_for_each_entry(dp, &dst->ports, list) {
|
||||||
return dsa_master_setup(master, cpu_dp);
|
if (dsa_port_is_cpu(dp)) {
|
||||||
|
err = dsa_master_setup(dp->master, dp);
|
||||||
|
if (err)
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dsa_tree_teardown_master(struct dsa_switch_tree *dst)
|
static void dsa_tree_teardown_master(struct dsa_switch_tree *dst)
|
||||||
{
|
{
|
||||||
struct dsa_port *cpu_dp = dst->cpu_dp;
|
struct dsa_port *dp;
|
||||||
struct net_device *master = cpu_dp->master;
|
|
||||||
|
|
||||||
return dsa_master_teardown(master);
|
list_for_each_entry(dp, &dst->ports, list)
|
||||||
|
if (dsa_port_is_cpu(dp))
|
||||||
|
dsa_master_teardown(dp->master);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int dsa_tree_setup(struct dsa_switch_tree *dst)
|
static int dsa_tree_setup(struct dsa_switch_tree *dst)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue