summaryrefslogtreecommitdiffstats
path: root/drivers/dma/pl330.c
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2013-09-04 16:40:17 +0200
committerVinod Koul <vinod.koul@intel.com>2013-10-07 04:11:38 +0200
commit173e838c31fded558dd27293ae6253a495696ca0 (patch)
treeb6c83c198989c3f8420b8fa0b6bf3ee54ddb6624 /drivers/dma/pl330.c
parentLinux 3.12-rc4 (diff)
downloadlinux-173e838c31fded558dd27293ae6253a495696ca0.tar.xz
linux-173e838c31fded558dd27293ae6253a495696ca0.zip
dma: pl330: Simplify irq allocation
Use devm_request_irq function. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/pl330.c')
-rw-r--r--drivers/dma/pl330.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
index a562d24d20bf..58623dc474d1 100644
--- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c
@@ -2923,7 +2923,7 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id)
amba_set_drvdata(adev, pdmac);
irq = adev->irq[0];
- ret = request_irq(irq, pl330_irq_handler, 0,
+ ret = devm_request_irq(&adev->dev, irq, pl330_irq_handler, 0,
dev_name(&adev->dev), pi);
if (ret)
return ret;
@@ -2931,7 +2931,7 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id)
pi->pcfg.periph_id = adev->periphid;
ret = pl330_add(pi);
if (ret)
- goto probe_err1;
+ return ret;
INIT_LIST_HEAD(&pdmac->desc_pool);
spin_lock_init(&pdmac->pool_lock);
@@ -3044,8 +3044,6 @@ probe_err3:
}
probe_err2:
pl330_del(pi);
-probe_err1:
- free_irq(irq, pi);
return ret;
}
@@ -3055,7 +3053,6 @@ static int pl330_remove(struct amba_device *adev)
struct dma_pl330_dmac *pdmac = amba_get_drvdata(adev);
struct dma_pl330_chan *pch, *_p;
struct pl330_info *pi;
- int irq;
if (!pdmac)
return 0;
@@ -3082,9 +3079,6 @@ static int pl330_remove(struct amba_device *adev)
pl330_del(pi);
- irq = adev->irq[0];
- free_irq(irq, pi);
-
return 0;
}