summaryrefslogtreecommitdiffstats
path: root/drivers/clk/renesas/rcar-gen3-cpg.c
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@glider.be>2017-06-21 22:24:15 +0200
committerGeert Uytterhoeven <geert+renesas@glider.be>2017-10-20 11:15:33 +0200
commit1f4023cdd1bdbe6cb01d0b2cbd1f46207189e3cf (patch)
tree722b66d177d78224d334f2c170d775fc151a06c0 /drivers/clk/renesas/rcar-gen3-cpg.c
parent560869100b99a3daea329efce738a3b7ae357be8 (diff)
downloadlinux-stable-1f4023cdd1bdbe6cb01d0b2cbd1f46207189e3cf.tar.gz
linux-stable-1f4023cdd1bdbe6cb01d0b2cbd1f46207189e3cf.tar.bz2
linux-stable-1f4023cdd1bdbe6cb01d0b2cbd1f46207189e3cf.zip
clk: renesas: cpg-mssr: Add support to restore core clocks during resume
On R-Car Gen3 systems, PSCI system suspend powers down the SoC, possibly losing clock configuration. Hence add a notifier chain that can be used by core clocks to save/restore clock state during system suspend/resume. The implementation of the actual clock state save/restore operations is clock-specific, and to be registered with the notifier chain in the SoC or family-specific cpg_mssr_info.cpg_clk_register() callback. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Tested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Diffstat (limited to 'drivers/clk/renesas/rcar-gen3-cpg.c')
-rw-r--r--drivers/clk/renesas/rcar-gen3-cpg.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/clk/renesas/rcar-gen3-cpg.c b/drivers/clk/renesas/rcar-gen3-cpg.c
index 951105816547..139985257003 100644
--- a/drivers/clk/renesas/rcar-gen3-cpg.c
+++ b/drivers/clk/renesas/rcar-gen3-cpg.c
@@ -265,7 +265,8 @@ static const struct soc_device_attribute cpg_quirks_match[] __initconst = {
struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
const struct cpg_core_clk *core, const struct cpg_mssr_info *info,
- struct clk **clks, void __iomem *base)
+ struct clk **clks, void __iomem *base,
+ struct raw_notifier_head *notifiers)
{
const struct clk *parent;
unsigned int mult = 1;