dmaengine: pl330: Drop boilerplate code for suspend/resume
authorUlf Hansson <ulf.hansson@linaro.org>
Thu, 5 Dec 2019 14:37:45 +0000 (15:37 +0100)
committerVinod Koul <vkoul@kernel.org>
Tue, 10 Dec 2019 06:08:56 +0000 (11:38 +0530)
Let's drop the boilerplate code in the system suspend/resume callbacks and
convert to use pm_runtime_force_suspend|resume(). This change also has a
nice side effect, as pm_runtime_force_resume() may decide to leave the
device in low power state, when that is feasible, thus avoiding to waste
both time and energy during system resume.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20191205143746.24873-2-ulf.hansson@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/pl330.c

index 6cce9ef..8e01da1 100644 (file)
@@ -2961,12 +2961,7 @@ static int __maybe_unused pl330_suspend(struct device *dev)
 {
        struct amba_device *pcdev = to_amba_device(dev);
 
-       pm_runtime_disable(dev);
-
-       if (!pm_runtime_status_suspended(dev)) {
-               /* amba did not disable the clock */
-               amba_pclk_disable(pcdev);
-       }
+       pm_runtime_force_suspend(dev);
        amba_pclk_unprepare(pcdev);
 
        return 0;
@@ -2981,10 +2976,7 @@ static int __maybe_unused pl330_resume(struct device *dev)
        if (ret)
                return ret;
 
-       if (!pm_runtime_status_suspended(dev))
-               ret = amba_pclk_enable(pcdev);
-
-       pm_runtime_enable(dev);
+       pm_runtime_force_resume(dev);
 
        return ret;
 }