|
@@ -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;
|
|
|
|