summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@glider.be>2019-08-09 15:38:34 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-10-07 18:59:14 +0200
commitb4b220dfcd3658b596d6c1885a11528e3157b9e6 (patch)
tree7aa9be871a3cfc822f28b042f30f68effa982450
parentb5c5e7dfde6627cb19864690f884005f2bbf8ea4 (diff)
downloadlinux-stable-b4b220dfcd3658b596d6c1885a11528e3157b9e6.tar.gz
linux-stable-b4b220dfcd3658b596d6c1885a11528e3157b9e6.tar.bz2
linux-stable-b4b220dfcd3658b596d6c1885a11528e3157b9e6.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.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/clk/renesas/clk-mstp.c b/drivers/clk/renesas/clk-mstp.c
index 92ece221b0d4..7f156cf1d7a6 100644
--- a/drivers/clk/renesas/clk-mstp.c
+++ b/drivers/clk/renesas/clk-mstp.c
@@ -338,7 +338,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);