]> git.karo-electronics.de Git - linux-beck.git/commitdiff
DMA: PL330: Remove redundant runtime_suspend/resume functions
authorInderpal Singh <inderpal.singh@linaro.org>
Fri, 7 Sep 2012 06:44:48 +0000 (12:14 +0530)
committerVinod Koul <vinod.koul@linux.intel.com>
Tue, 18 Sep 2012 03:29:52 +0000 (08:59 +0530)
The driver's  runtime_suspend/resume functions just disable/enable
the clock which is already being managed at AMBA bus level
runtime_suspend/resume functions.

Hence, remove the driver's runtime_suspend/resume functions.

Signed-off-by: Inderpal Singh <inderpal.singh@linaro.org>
Tested-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
drivers/dma/pl330.c

index 3a434c4b63e6ac58cb59e25d6af41966b6c0b5ce..7e543698fa23aea6f3f7d5f5be3da5c2f60b38cf 100644 (file)
@@ -23,7 +23,6 @@
 #include <linux/dmaengine.h>
 #include <linux/amba/bus.h>
 #include <linux/amba/pl330.h>
-#include <linux/pm_runtime.h>
 #include <linux/scatterlist.h>
 #include <linux/of.h>
 
@@ -586,8 +585,6 @@ struct dma_pl330_dmac {
 
        /* Peripheral channels connected to this DMAC */
        struct dma_pl330_chan *peripherals; /* keep at end */
-
-       struct clk *clk;
 };
 
 struct dma_pl330_desc {
@@ -2887,24 +2884,17 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id)
                goto probe_err1;
        }
 
-       pdmac->clk = clk_get(&adev->dev, "dma");
-       if (IS_ERR(pdmac->clk)) {
-               dev_err(&adev->dev, "Cannot get operation clock.\n");
-               ret = -EINVAL;
-               goto probe_err2;
-       }
-
        amba_set_drvdata(adev, pdmac);
 
        irq = adev->irq[0];
        ret = request_irq(irq, pl330_irq_handler, 0,
                        dev_name(&adev->dev), pi);
        if (ret)
-               goto probe_err3;
+               goto probe_err2;
 
        ret = pl330_add(pi);
        if (ret)
-               goto probe_err4;
+               goto probe_err3;
 
        INIT_LIST_HEAD(&pdmac->desc_pool);
        spin_lock_init(&pdmac->pool_lock);
@@ -2965,7 +2955,7 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id)
        ret = dma_async_device_register(pd);
        if (ret) {
                dev_err(&adev->dev, "unable to register DMAC\n");
-               goto probe_err5;
+               goto probe_err4;
        }
 
        dev_info(&adev->dev,
@@ -2978,12 +2968,10 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id)
 
        return 0;
 
-probe_err5:
-       pl330_del(pi);
 probe_err4:
-       free_irq(irq, pi);
+       pl330_del(pi);
 probe_err3:
-       clk_put(pdmac->clk);
+       free_irq(irq, pi);
 probe_err2:
        iounmap(pi->base);
 probe_err1:
@@ -3045,49 +3033,10 @@ static struct amba_id pl330_ids[] = {
 
 MODULE_DEVICE_TABLE(amba, pl330_ids);
 
-#ifdef CONFIG_PM_RUNTIME
-static int pl330_runtime_suspend(struct device *dev)
-{
-       struct dma_pl330_dmac *pdmac = dev_get_drvdata(dev);
-
-       if (!pdmac) {
-               dev_err(dev, "failed to get dmac\n");
-               return -ENODEV;
-       }
-
-       clk_disable(pdmac->clk);
-
-       return 0;
-}
-
-static int pl330_runtime_resume(struct device *dev)
-{
-       struct dma_pl330_dmac *pdmac = dev_get_drvdata(dev);
-
-       if (!pdmac) {
-               dev_err(dev, "failed to get dmac\n");
-               return -ENODEV;
-       }
-
-       clk_enable(pdmac->clk);
-
-       return 0;
-}
-#else
-#define pl330_runtime_suspend  NULL
-#define pl330_runtime_resume   NULL
-#endif /* CONFIG_PM_RUNTIME */
-
-static const struct dev_pm_ops pl330_pm_ops = {
-       .runtime_suspend = pl330_runtime_suspend,
-       .runtime_resume = pl330_runtime_resume,
-};
-
 static struct amba_driver pl330_driver = {
        .drv = {
                .owner = THIS_MODULE,
                .name = "dma-pl330",
-               .pm = &pl330_pm_ops,
        },
        .id_table = pl330_ids,
        .probe = pl330_probe,