DMA: PL330: Register the DMA controller with the generic DMA helpers
authorPadmavathi Venna <padma.v@samsung.com>
Thu, 14 Feb 2013 03:40:07 +0000 (09:10 +0530)
committerVinod Koul <vinod.koul@intel.com>
Thu, 14 Feb 2013 14:34:27 +0000 (20:04 +0530)
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>
drivers/dma/pl330.c

index f5d47e617df2ebb9f7dc0a3fbe3e981dd1c2c592..fc9c8001737878c15a9579db020a5609f49ef0ad 100644 (file)
@@ -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 */