summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mvebu/common.h
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-11-21 17:00:05 +0100
committerJason Cooper <jason@lakedaemon.net>2014-11-30 16:40:12 +0000
commitf571053152f660769f9f39f150ac984bc4c6ac85 (patch)
treeeb85fc93b3d6fe931c35683524f42a5b07dc46ce /arch/arm/mach-mvebu/common.h
parent4749c02b8da6d8dbc29218652985bda844017e95 (diff)
downloadlinux-stable-f571053152f660769f9f39f150ac984bc4c6ac85.tar.gz
linux-stable-f571053152f660769f9f39f150ac984bc4c6ac85.tar.bz2
linux-stable-f571053152f660769f9f39f150ac984bc4c6ac85.zip
clk: mvebu: add suspend/resume for gatable clocks
This commit adds suspend/resume support for the gatable clock driver used on Marvell EBU platforms. When getting out of suspend, the Marvell EBU platforms go through the bootloader, which re-enables all gatable clocks. However, upon resume, the clock framework will not disable again all gatable clocks that are not used. Therefore, if the clock driver does not save/restore the state of the gatable clocks, all gatable clocks that are not claimed by any device driver will remain enabled after a resume. This is why this driver saves and restores the state of those clocks. Since clocks aren't real devices, we don't have the normal ->suspend() and ->resume() of the device model, and have to use the ->suspend() and ->resume() hooks of the syscore_ops mechanism. This mechanism has the unfortunate idea of not providing a way of passing private data, which requires us to change the driver to make the assumption that there is only once instance of the gatable clock control structure. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Mike Turquette <mturquette@linaro.org> Cc: linux-kernel@vger.kernel.org Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Link: https://lkml.kernel.org/r/1416585613-2113-9-git-send-email-thomas.petazzoni@free-electrons.com Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch/arm/mach-mvebu/common.h')
0 files changed, 0 insertions, 0 deletions