]> git.baikalelectronics.ru Git - kernel.git/commitdiff
clk: renesas: cpg-mssr: Keep wakeup sources active during system suspend
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 13 Oct 2017 12:24:22 +0000 (14:24 +0200)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Thu, 14 Dec 2017 15:40:36 +0000 (16:40 +0100)
If a device is part of the CPG/MSSR Clock Domain and to be used as a
wakeup source, it must be kept active during system suspend.

Currently this is handled in device-specific drivers by explicitly
increasing the use count of the module clock when the device is
configured as a wakeup source.  However, the proper way to prevent the
device from being stopped is to inform this requirement to the genpd
core, by setting the GENPD_FLAG_ACTIVE_WAKEUP flag.

Note that this will only affect devices configured as wakeup sources.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/clk/renesas/renesas-cpg-mssr.c

index e3d03ffea4bc2fd6e17cf9268f797ade839ca750..e3cc72c813114b79e35407f291ab32e05234e3cc 100644 (file)
@@ -513,7 +513,7 @@ static int __init cpg_mssr_add_clk_domain(struct device *dev,
 
        genpd = &pd->genpd;
        genpd->name = np->name;
-       genpd->flags = GENPD_FLAG_PM_CLK;
+       genpd->flags = GENPD_FLAG_PM_CLK | GENPD_FLAG_ACTIVE_WAKEUP;
        genpd->attach_dev = cpg_mssr_attach_dev;
        genpd->detach_dev = cpg_mssr_detach_dev;
        pm_genpd_init(genpd, &pm_domain_always_on_gov, false);