diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2023-01-16 14:44:57 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2023-01-23 09:21:37 +0100 |
commit | 6f18594a45923ac4552713e81d4e6836a3328b48 (patch) | |
tree | 4d86bf2a41689ccb999f467ab08db41303c2c30c | |
parent | d98e5d91599019f2c73e38d874682eb11eb021f2 (diff) | |
download | barebox-6f18594a45923ac4552713e81d4e6836a3328b48.tar.gz barebox-6f18594a45923ac4552713e81d4e6836a3328b48.tar.xz |
net: dsa: populate struct dsa_port::index/dev members
Unlike with regular user ports, the CPU port doesn't have a dev or index
member assigned, which leads to subtle breakage porting Linux drivers.
Use the new dsa_port_alloc() helper to fix this.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Link: https://lore.barebox.org/20230116134501.2006391-6-a.fatoum@pengutronix.de
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/net/dsa.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/net/dsa.c b/drivers/net/dsa.c index ea1a6a6996..c1430a9361 100644 --- a/drivers/net/dsa.c +++ b/drivers/net/dsa.c @@ -317,7 +317,6 @@ static int dsa_switch_register_master(struct dsa_switch *ds, { struct device_node *phy_node; struct phy_device *phydev; - struct dsa_port *dp; int ret; if (ds->edev_master) { @@ -348,9 +347,7 @@ static int dsa_switch_register_master(struct dsa_switch *ds, phydev->interface = of_get_phy_mode(np); - ds->dp[port] = xzalloc(sizeof(*dp)); - dp = ds->dp[port]; - dp->ds = ds; + dsa_port_alloc(ds, np, port); ds->cpu_port = port; ds->cpu_port_fixed_phy = phydev; |