summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMadalin Bucur <madalin.bucur@freescale.com>2014-11-20 15:04:59 (GMT)
committerMadalin Bucur <madalin.bucur@freescale.com>2015-02-25 16:26:59 (GMT)
commit6970c7d5d0fbf914ff300f45273cbdf83c86c2ed (patch)
tree164570f0b985658ec450d9a938c5dcfe3a692f34
parent8e0373b33dfc8d955a92c57895b96b83bf3efb6d (diff)
downloadlinux-fsl-qoriq-6970c7d5d0fbf914ff300f45273cbdf83c86c2ed.tar.xz
dpaa_eth: make use of devm_alloc_percpu()
Use resource managed variant of alloc_percpu(). Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I51f3fe816792535bdf01827c77a6f504f9c22e7a Reviewed-on: http://git.am.freescale.net:8181/24141 Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth.c10
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth_common.c1
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth_generic.c12
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth_macless.c6
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c6
5 files changed, 13 insertions, 22 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth.c
index e0fad81..56d4dc9 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth.c
@@ -771,7 +771,7 @@ dpa_priv_bp_probe(struct device *dev)
return ERR_PTR(-ENOMEM);
}
- dpa_bp->percpu_count = alloc_percpu(*dpa_bp->percpu_count);
+ dpa_bp->percpu_count = devm_alloc_percpu(dev, *dpa_bp->percpu_count);
dpa_bp->target_count = CONFIG_FSL_DPAA_ETH_MAX_BUF_COUNT;
dpa_bp->seed_cb = dpa_bp_priv_seed;
@@ -1044,10 +1044,10 @@ dpaa_eth_priv_probe(struct platform_device *_of_dev)
}
#endif
- priv->percpu_priv = alloc_percpu(*priv->percpu_priv);
+ priv->percpu_priv = devm_alloc_percpu(dev, *priv->percpu_priv);
if (priv->percpu_priv == NULL) {
- dev_err(dev, "alloc_percpu() failed\n");
+ dev_err(dev, "devm_alloc_percpu() failed\n");
err = -ENOMEM;
goto alloc_percpu_failed;
}
@@ -1080,11 +1080,10 @@ dpaa_eth_priv_probe(struct platform_device *_of_dev)
netdev_init_failed:
napi_add_failed:
dpa_private_napi_del(net_dev);
- free_percpu(priv->percpu_priv);
+alloc_percpu_failed:
#ifdef CONFIG_FMAN_PFC
pfc_mapping_failed:
#endif
-alloc_percpu_failed:
dpa_fq_free(dev, &priv->dpa_fq_list);
fq_alloc_failed:
qman_release_cgrid(priv->ingress_cgr.cgrid);
@@ -1098,7 +1097,6 @@ get_channel_failed:
dpa_bp_free(priv, priv->dpa_bp);
bp_create_failed:
fq_probe_failed:
- devm_kfree(dev, buf_layout);
alloc_failed:
mac_probe_failed:
dev_set_drvdata(dev, NULL);
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_common.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_common.c
index b1dc9c0..b7a7791 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_common.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_common.c
@@ -516,7 +516,6 @@ int __cold dpa_remove(struct platform_device *of_dev)
err = dpa_fq_free(dev, &priv->dpa_fq_list);
dpa_private_napi_del(net_dev);
- free_percpu(priv->percpu_priv);
dpa_bp_free(priv, priv->dpa_bp);
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_generic.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_generic.c
index 2713acb..a706a89 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_generic.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_generic.c
@@ -976,7 +976,8 @@ static int dpa_generic_rx_bp_probe(struct platform_device *_of_dev,
goto _return_of_node_put;
}
- bp[i].percpu_count = alloc_percpu(*(bp[i].percpu_count));
+ bp[i].percpu_count = devm_alloc_percpu(dev,
+ *bp[i].percpu_count);
}
buf_layout = devm_kzalloc(dev, sizeof(*buf_layout), GFP_KERNEL);
@@ -1042,7 +1043,7 @@ int dpa_generic_tx_bp_probe(struct platform_device *_of_dev,
}
bp->size = dpa_bp_size(buf_layout);
- bp->percpu_count = alloc_percpu(*bp->percpu_count);
+ bp->percpu_count = devm_alloc_percpu(dev, *bp->percpu_count);
bp->target_count = CONFIG_FSL_DPAA_ETH_MAX_BUF_COUNT;
*draining_tx_bp = bp;
@@ -1365,7 +1366,6 @@ static int dpa_generic_remove(struct platform_device *of_dev)
#endif
dpa_private_napi_del(net_dev);
- free_percpu(priv->percpu_priv);
/* TODO: this is for private dirver also; make generic */
#if 0
@@ -1465,9 +1465,9 @@ static int dpa_generic_eth_probe(struct platform_device *_of_dev)
priv->mac_dev = NULL;
- priv->percpu_priv = alloc_percpu(*priv->percpu_priv);
+ priv->percpu_priv = devm_alloc_percpu(dev, *priv->percpu_priv);
if (priv->percpu_priv == NULL) {
- dev_err(dev, "alloc_percpu() failed\n");
+ dev_err(dev, "devm_alloc_percpu() failed\n");
err = -ENOMEM;
goto alloc_percpu_failed;
}
@@ -1495,8 +1495,6 @@ static int dpa_generic_eth_probe(struct platform_device *_of_dev)
netdev_init_failed:
napi_add_failed:
dpa_generic_napi_del(netdev);
- if (netdev)
- free_percpu(priv->percpu_priv);
alloc_percpu_failed:
if (netdev)
dpa_fq_free(dev, &priv->dpa_fq_list);
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_macless.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_macless.c
index 83cc8a6..5f6b693 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_macless.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_macless.c
@@ -428,10 +428,10 @@ static int dpaa_eth_macless_probe(struct platform_device *_of_dev)
priv->tx_headroom = DPA_DEFAULT_TX_HEADROOM;
- priv->percpu_priv = alloc_percpu(*priv->percpu_priv);
+ priv->percpu_priv = devm_alloc_percpu(dev, *priv->percpu_priv);
if (priv->percpu_priv == NULL) {
- dev_err(dev, "alloc_percpu() failed\n");
+ dev_err(dev, "devm_alloc_percpu() failed\n");
err = -ENOMEM;
goto alloc_percpu_failed;
}
@@ -452,8 +452,6 @@ static int dpaa_eth_macless_probe(struct platform_device *_of_dev)
return 0;
netdev_init_failed:
- if (net_dev)
- free_percpu(priv->percpu_priv);
alloc_percpu_failed:
fq_alloc_failed:
if (net_dev)
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c
index f581e97..d05c607 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c
@@ -801,10 +801,10 @@ dpaa_eth_shared_probe(struct platform_device *_of_dev)
buf_layout, dev);
/* Now we need to initialize either a private or shared interface */
- priv->percpu_priv = alloc_percpu(*priv->percpu_priv);
+ priv->percpu_priv = devm_alloc_percpu(dev, *priv->percpu_priv);
if (priv->percpu_priv == NULL) {
- dev_err(dev, "alloc_percpu() failed\n");
+ dev_err(dev, "devm_alloc_percpu() failed\n");
err = -ENOMEM;
goto alloc_percpu_failed;
}
@@ -826,8 +826,6 @@ dpaa_eth_shared_probe(struct platform_device *_of_dev)
return 0;
netdev_init_failed:
- if (net_dev)
- free_percpu(priv->percpu_priv);
alloc_percpu_failed:
fq_alloc_failed:
if (net_dev) {