[PATCH 4/9] net: dsa: factor out dsa_port_alloc helper
Ahmad Fatoum
a.fatoum at pengutronix.de
Mon Jan 16 05:44:56 PST 2023
We'll reuse this helper in a follow-up commit for allocating the CPU
port's struct dsa_port, so prepare for this by creating a helper
function.
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
drivers/net/dsa.c | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/drivers/net/dsa.c b/drivers/net/dsa.c
index d51e9c861114..ea1a6a699698 100644
--- a/drivers/net/dsa.c
+++ b/drivers/net/dsa.c
@@ -235,10 +235,9 @@ static int dsa_ether_get_ethaddr(struct eth_device *edev, unsigned char *adr)
return edev_master->get_ethaddr(edev_master, adr);
}
-static int dsa_switch_register_edev(struct dsa_switch *ds,
- struct device_node *dn, int port)
+static struct dsa_port *dsa_port_alloc(struct dsa_switch *ds,
+ struct device_node *dn, int port)
{
- struct eth_device *edev;
struct device *dev;
struct dsa_port *dp;
@@ -248,14 +247,24 @@ static int dsa_switch_register_edev(struct dsa_switch *ds,
dev = of_platform_device_create(dn, ds->dev);
of_platform_device_dummy_drv(dev);
dp->dev = dev;
-
- dp->rx_buf = xmalloc(DSA_PKTSIZE);
dp->ds = ds;
dp->index = port;
+ return dp;
+}
+
+static int dsa_switch_register_edev(struct dsa_switch *ds,
+ struct device_node *dn, int port)
+{
+ struct eth_device *edev;
+ struct dsa_port *dp;
+
+ dp = dsa_port_alloc(ds, dn, port);
+ dp->rx_buf = xmalloc(DSA_PKTSIZE);
+
edev = &dp->edev;
edev->priv = dp;
- edev->parent = dev;
+ edev->parent = dp->dev;
edev->init = dsa_port_probe;
edev->open = dsa_port_start;
edev->send = dsa_port_send;
--
2.30.2
More information about the barebox
mailing list