aboutsummaryrefslogtreecommitdiff
path: root/drivers/dma
diff options
context:
space:
mode:
authorPadmavathi Venna <padma.v@samsung.com>2013-02-14 09:10:07 +0530
committerVinod Koul <vinod.koul@intel.com>2013-02-14 20:04:27 +0530
commit421da89aadd1b24f4a3bc1d60c9de9825ec2debc (patch)
tree6819535a892530a23d7ab4ed347fff491e4e3103 /drivers/dma
parenta80258f9b2ac81e72ff680d273df9544a1307a32 (diff)
DMA: PL330: Register the DMA controller with the generic DMA helpers
This patch registers the pl330 dma controller driver with the generic device tree dma helper functions. Signed-off-by: Padmavathi Venna <padma.v@samsung.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/pl330.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
index f5d47e617df..fc9c8001737 100644
--- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c
@@ -2995,6 +2995,14 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id)
pi->pcfg.data_bus_width / 8, pi->pcfg.num_chan,
pi->pcfg.num_peri, pi->pcfg.num_events);
+ ret = of_dma_controller_register(adev->dev.of_node,
+ of_dma_pl330_xlate, pdmac);
+ if (ret) {
+ dev_err(&adev->dev,
+ "unable to register DMA to the generic DT DMA helpers\n");
+ goto probe_err2;
+ }
+
return 0;
probe_err2:
@@ -3015,6 +3023,8 @@ static int __devexit pl330_remove(struct amba_device *adev)
if (!pdmac)
return 0;
+ of_dma_controller_free(adev->dev.of_node);
+
amba_set_drvdata(adev, NULL);
/* Idle the DMAC */