diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2019-08-09 15:38:34 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-10-07 19:01:18 +0200 |
commit | 48b6ddaa0ec0a3b865826bc3b4e7f22bf5eb8f75 (patch) | |
tree | b475fcca99b8e39ff26ac63452b7cc4cbc85a82f | |
parent | da0a6764db3ac9eae87578cd9d8a0a007ffb85b7 (diff) | |
download | linux-stable-48b6ddaa0ec0a3b865826bc3b4e7f22bf5eb8f75.tar.gz linux-stable-48b6ddaa0ec0a3b865826bc3b4e7f22bf5eb8f75.tar.bz2 linux-stable-48b6ddaa0ec0a3b865826bc3b4e7f22bf5eb8f75.zip |
clk: renesas: mstp: Set GENPD_FLAG_ALWAYS_ON for clock domain
[ Upstream commit a459a184c978ca9ad538aab93aafdde873953f30 ]
The CPG/MSTP Clock Domain driver does not implement the
generic_pm_domain.power_{on,off}() callbacks, as the domain itself
cannot be powered down. Hence the domain should be marked as always-on
by setting the GENPD_FLAG_ALWAYS_ON flag, to prevent the core PM Domain
code from considering it for power-off, and doing unnessary processing.
This also gets rid of a boot warning when the Clock Domain contains an
IRQ-safe device, e.g. on RZ/A1:
sh_mtu2 fcff0000.timer: PM domain cpg_clocks will not be powered off
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | drivers/clk/renesas/clk-mstp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/clk/renesas/clk-mstp.c b/drivers/clk/renesas/clk-mstp.c index 2db9093546c6..e326e6dc09fc 100644 --- a/drivers/clk/renesas/clk-mstp.c +++ b/drivers/clk/renesas/clk-mstp.c @@ -334,7 +334,8 @@ void __init cpg_mstp_add_clk_domain(struct device_node *np) return; pd->name = np->name; - pd->flags = GENPD_FLAG_PM_CLK | GENPD_FLAG_ACTIVE_WAKEUP; + pd->flags = GENPD_FLAG_PM_CLK | GENPD_FLAG_ALWAYS_ON | + GENPD_FLAG_ACTIVE_WAKEUP; pd->attach_dev = cpg_mstp_attach_dev; pd->detach_dev = cpg_mstp_detach_dev; pm_genpd_init(pd, &pm_domain_always_on_gov, false); |