diff options
author | Lokesh Vutla <lokeshvutla@ti.com> | 2013-07-26 12:29:17 +0530 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2013-08-01 10:54:01 +1000 |
commit | 7a7e4b73b5e3244063c224c307b1b4b8a0110d6d (patch) | |
tree | 6cf5b570c06369e895d0682d24a6d821a62e830d /drivers/crypto/omap-sham.c | |
parent | 0de9c3876b36147e931f475ae435bab04398cd60 (diff) | |
download | talos-op-linux-7a7e4b73b5e3244063c224c307b1b4b8a0110d6d.tar.gz talos-op-linux-7a7e4b73b5e3244063c224c307b1b4b8a0110d6d.zip |
crypto: omap-sham - Convert to devm_kzalloc()
Use devm_kzalloc() to make cleanup paths simpler.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/omap-sham.c')
-rw-r--r-- | drivers/crypto/omap-sham.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c index b82b140e843a..ae1ca8b2dfb2 100644 --- a/drivers/crypto/omap-sham.c +++ b/drivers/crypto/omap-sham.c @@ -1870,7 +1870,7 @@ static int omap_sham_probe(struct platform_device *pdev) int err, i, j; u32 rev; - dd = kzalloc(sizeof(struct omap_sham_dev), GFP_KERNEL); + dd = devm_kzalloc(dev, sizeof(struct omap_sham_dev), GFP_KERNEL); if (dd == NULL) { dev_err(dev, "unable to alloc data struct.\n"); err = -ENOMEM; @@ -1887,12 +1887,12 @@ static int omap_sham_probe(struct platform_device *pdev) err = (dev->of_node) ? omap_sham_get_res_of(dd, dev, &res) : omap_sham_get_res_pdev(dd, pdev, &res); if (err) - goto res_err; + goto data_err; dd->io_base = devm_ioremap_resource(dev, &res); if (IS_ERR(dd->io_base)) { err = PTR_ERR(dd->io_base); - goto res_err; + goto data_err; } dd->phys_base = res.start; @@ -1901,7 +1901,7 @@ static int omap_sham_probe(struct platform_device *pdev) if (err) { dev_err(dev, "unable to request irq %d, err = %d\n", dd->irq, err); - goto res_err; + goto data_err; } dma_cap_zero(mask); @@ -1913,7 +1913,7 @@ static int omap_sham_probe(struct platform_device *pdev) dev_err(dev, "unable to obtain RX DMA engine channel %u\n", dd->dma); err = -ENXIO; - goto res_err; + goto data_err; } dd->flags |= dd->pdata->flags; @@ -1951,9 +1951,6 @@ err_algs: &dd->pdata->algs_info[i].algs_list[j]); pm_runtime_disable(dev); dma_release_channel(dd->dma_lch); -res_err: - kfree(dd); - dd = NULL; data_err: dev_err(dev, "initialization failed.\n"); @@ -1978,8 +1975,6 @@ static int omap_sham_remove(struct platform_device *pdev) tasklet_kill(&dd->done_task); pm_runtime_disable(&pdev->dev); dma_release_channel(dd->dma_lch); - kfree(dd); - dd = NULL; return 0; } |