[PATCH] net: mvneta: Switch to using devm_alloc_etherdev_mqs

Subsystems: marvell mvneta ethernet driver, networking drivers, the rest

STALE2706d

2 messages, 2 authors, 2019-03-19 · open the first message on its own page

[PATCH] net: mvneta: Switch to using devm_alloc_etherdev_mqs

From: Rosen Penev <hidden>
Date: 2019-03-19 20:53:45

It allows some of the code to be simplified.

Signed-off-by: Rosen Penev <redacted>
---
 drivers/net/ethernet/marvell/mvneta.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
index a78a39244b79..8376ee12ef10 100644
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -4422,15 +4422,14 @@ static int mvneta_probe(struct platform_device *pdev)
 	int err;
 	int cpu;
 
-	dev = alloc_etherdev_mqs(sizeof(struct mvneta_port), txq_number, rxq_number);
+	dev = devm_alloc_etherdev_mqs(&pdev->dev, sizeof(struct mvneta_port),
+				      txq_number, rxq_number);
 	if (!dev)
 		return -ENOMEM;
 
 	dev->irq = irq_of_parse_and_map(dn, 0);
-	if (dev->irq == 0) {
-		err = -EINVAL;
-		goto err_free_netdev;
-	}
+	if (dev->irq == 0)
+		return -EINVAL;
 
 	phy_mode = of_get_phy_mode(dn);
 	if (phy_mode < 0) {
@@ -4641,9 +4640,6 @@ static int mvneta_probe(struct platform_device *pdev)
 		phylink_destroy(pp->phylink);
 err_free_irq:
 	irq_dispose_mapping(dev->irq);
-err_free_netdev:
-	free_netdev(dev);
-	return err;
 }
 
 /* Device removal routine */
@@ -4659,7 +4655,6 @@ static int mvneta_remove(struct platform_device *pdev)
 	free_percpu(pp->stats);
 	irq_dispose_mapping(dev->irq);
 	phylink_destroy(pp->phylink);
-	free_netdev(dev);
 
 	if (pp->bm_priv) {
 		mvneta_bm_pool_destroy(pp->bm_priv, pp->pool_long, 1 << pp->id);
-- 
2.17.1

Re: [PATCH] net: mvneta: Switch to using devm_alloc_etherdev_mqs

From: David Miller <davem@davemloft.net>
Date: 2019-03-19 22:05:06

From: Rosen Penev <redacted>
Date: Tue, 19 Mar 2019 13:53:40 -0700
It allows some of the code to be simplified.
 ...
quoted hunk
@@ -4641,9 +4640,6 @@ static int mvneta_probe(struct platform_device *pdev)
 		phylink_destroy(pp->phylink);
 err_free_irq:
 	irq_dispose_mapping(dev->irq);
-err_free_netdev:
-	free_netdev(dev);
-	return err;
It would be great if the code was compile tested too.

You're removing the error return the err_free_irq: path needs.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help