diff options
author | Ulf Hansson <ulf.hansson@linaro.org> | 2019-12-05 15:37:45 +0100 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2019-12-10 07:08:56 +0100 |
commit | a39cddc9e3775100100a4272feed64faac831be9 (patch) | |
tree | 1e4bd10551a79f6cb58a22acbe502bddfabb9032 /drivers/dma/pl330.c | |
parent | dt-bindings: dmaengine: rcar-dmac: Document r8a77961 support (diff) | |
download | linux-a39cddc9e3775100100a4272feed64faac831be9.tar.xz linux-a39cddc9e3775100100a4272feed64faac831be9.zip |
dmaengine: pl330: Drop boilerplate code for suspend/resume
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>
Diffstat (limited to 'drivers/dma/pl330.c')
-rw-r--r-- | drivers/dma/pl330.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c index 6cce9ef61b29..8e01da157518 100644 --- a/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c @@ -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; } |