]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clk: qcom: gdsc: Bump parent usage count when GDSC is found enabled
authorBjorn Andersson <bjorn.andersson@linaro.org>
Wed, 13 Jul 2022 21:28:18 +0000 (14:28 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:41:50 +0000 (14:41 +0200)
[ Upstream commit 41fff779d7948147f2440c4bb134cdf8b45b22d7 ]

When a GDSC is found to be enabled at boot the pm_runtime state will
be unbalanced as the GDSC is later turned off. Fix this by increasing
the usage counter on the power-domain, in line with how we handled the
regulator state.

Fixes: 1b771839de05 ("clk: qcom: gdsc: enable optional power domain support")
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20220713212818.130277-1-bjorn.andersson@linaro.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/qcom/gdsc.c

index 44520efc6c72b8c56fbc45be0659343b5598daaf..2db0938f8dd3f9fbc7a3a53450c5cf4aa45f400c 100644 (file)
@@ -420,6 +420,14 @@ static int gdsc_init(struct gdsc *sc)
                                return ret;
                }
 
+               /* ...and the power-domain */
+               ret = gdsc_pm_runtime_get(sc);
+               if (ret) {
+                       if (sc->rsupply)
+                               regulator_disable(sc->rsupply);
+                       return ret;
+               }
+
                /*
                 * Votable GDSCs can be ON due to Vote from other masters.
                 * If a Votable GDSC is ON, make sure we have a Vote.