Commit d183a942 authored by Grygorii Strashko's avatar Grygorii Strashko Committed by David S. Miller

net: ethernet: ti: cpsw: use devm_alloc_etherdev_mqs()

Use devm_alloc_etherdev_mqs() and simplify code.
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 56bf8a5d
...@@ -3399,7 +3399,8 @@ static int cpsw_probe_dual_emac(struct cpsw_priv *priv) ...@@ -3399,7 +3399,8 @@ static int cpsw_probe_dual_emac(struct cpsw_priv *priv)
struct cpsw_priv *priv_sl2; struct cpsw_priv *priv_sl2;
int ret = 0; int ret = 0;
ndev = alloc_etherdev_mq(sizeof(struct cpsw_priv), CPSW_MAX_QUEUES); ndev = devm_alloc_etherdev_mqs(cpsw->dev, sizeof(struct cpsw_priv),
CPSW_MAX_QUEUES, CPSW_MAX_QUEUES);
if (!ndev) { if (!ndev) {
dev_err(cpsw->dev, "cpsw: error allocating net_device\n"); dev_err(cpsw->dev, "cpsw: error allocating net_device\n");
return -ENOMEM; return -ENOMEM;
...@@ -3433,11 +3434,8 @@ static int cpsw_probe_dual_emac(struct cpsw_priv *priv) ...@@ -3433,11 +3434,8 @@ static int cpsw_probe_dual_emac(struct cpsw_priv *priv)
/* register the network device */ /* register the network device */
SET_NETDEV_DEV(ndev, cpsw->dev); SET_NETDEV_DEV(ndev, cpsw->dev);
ret = register_netdev(ndev); ret = register_netdev(ndev);
if (ret) { if (ret)
dev_err(cpsw->dev, "cpsw: error registering net device\n"); dev_err(cpsw->dev, "cpsw: error registering net device\n");
free_netdev(ndev);
ret = -ENODEV;
}
return ret; return ret;
} }
...@@ -3481,7 +3479,8 @@ static int cpsw_probe(struct platform_device *pdev) ...@@ -3481,7 +3479,8 @@ static int cpsw_probe(struct platform_device *pdev)
cpsw->dev = dev; cpsw->dev = dev;
ndev = alloc_etherdev_mq(sizeof(struct cpsw_priv), CPSW_MAX_QUEUES); ndev = devm_alloc_etherdev_mqs(dev, sizeof(struct cpsw_priv),
CPSW_MAX_QUEUES, CPSW_MAX_QUEUES);
if (!ndev) { if (!ndev) {
dev_err(dev, "error allocating net_device\n"); dev_err(dev, "error allocating net_device\n");
return -ENOMEM; return -ENOMEM;
...@@ -3499,7 +3498,7 @@ static int cpsw_probe(struct platform_device *pdev) ...@@ -3499,7 +3498,7 @@ static int cpsw_probe(struct platform_device *pdev)
if (IS_ERR(mode)) { if (IS_ERR(mode)) {
ret = PTR_ERR(mode); ret = PTR_ERR(mode);
dev_err(dev, "gpio request failed, ret %d\n", ret); dev_err(dev, "gpio request failed, ret %d\n", ret);
goto clean_ndev_ret; return ret;
} }
/* /*
...@@ -3768,8 +3767,6 @@ static int cpsw_probe(struct platform_device *pdev) ...@@ -3768,8 +3767,6 @@ static int cpsw_probe(struct platform_device *pdev)
pm_runtime_put_sync(&pdev->dev); pm_runtime_put_sync(&pdev->dev);
clean_runtime_disable_ret: clean_runtime_disable_ret:
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
clean_ndev_ret:
free_netdev(priv->ndev);
return ret; return ret;
} }
...@@ -3794,9 +3791,6 @@ static int cpsw_remove(struct platform_device *pdev) ...@@ -3794,9 +3791,6 @@ static int cpsw_remove(struct platform_device *pdev)
cpsw_remove_dt(pdev); cpsw_remove_dt(pdev);
pm_runtime_put_sync(&pdev->dev); pm_runtime_put_sync(&pdev->dev);
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
if (cpsw->data.dual_emac)
free_netdev(cpsw->slaves[1].ndev);
free_netdev(ndev);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment