summaryrefslogtreecommitdiffstats
path: root/drivers/crypto/omap-sham.c
diff options
context:
space:
mode:
authorLokesh Vutla <lokeshvutla@ti.com>2013-07-26 08:59:16 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2013-08-01 02:54:00 +0200
commit0de9c3876b36147e931f475ae435bab04398cd60 (patch)
tree607d776d6dbc80cbf923f501e4e0d04913b072e6 /drivers/crypto/omap-sham.c
parentcrypto: omap-sham - Add OMAP5/AM43XX SHAM Support (diff)
downloadlinux-0de9c3876b36147e931f475ae435bab04398cd60.tar.xz
linux-0de9c3876b36147e931f475ae435bab04398cd60.zip
crypto: omap-sham - Convert to devm_request_irq()
Using devm_request_irq() rather than request_irq(). So removing free_irq() calls from the probe error path and the remove handler. 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.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c
index a6eb6a8bbb61..b82b140e843a 100644
--- a/drivers/crypto/omap-sham.c
+++ b/drivers/crypto/omap-sham.c
@@ -1896,10 +1896,11 @@ static int omap_sham_probe(struct platform_device *pdev)
}
dd->phys_base = res.start;
- err = request_irq(dd->irq, dd->pdata->intr_hdlr, IRQF_TRIGGER_LOW,
- dev_name(dev), dd);
+ err = devm_request_irq(dev, dd->irq, dd->pdata->intr_hdlr,
+ IRQF_TRIGGER_NONE, dev_name(dev), dd);
if (err) {
- dev_err(dev, "unable to request irq.\n");
+ dev_err(dev, "unable to request irq %d, err = %d\n",
+ dd->irq, err);
goto res_err;
}
@@ -1912,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 dma_err;
+ goto res_err;
}
dd->flags |= dd->pdata->flags;
@@ -1950,8 +1951,6 @@ err_algs:
&dd->pdata->algs_info[i].algs_list[j]);
pm_runtime_disable(dev);
dma_release_channel(dd->dma_lch);
-dma_err:
- free_irq(dd->irq, dd);
res_err:
kfree(dd);
dd = NULL;
@@ -1979,7 +1978,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);
- free_irq(dd->irq, dd);
kfree(dd);
dd = NULL;