diff options
author | Bjorn Andersson <bjorn.andersson@linaro.org> | 2022-07-13 14:28:18 -0700 |
---|---|---|
committer | Bjorn Andersson <bjorn.andersson@linaro.org> | 2022-07-18 16:35:48 -0500 |
commit | 41fff779d7948147f2440c4bb134cdf8b45b22d7 (patch) | |
tree | ae4c021e18cd59da0a33106ac24dcffe38808383 /drivers/clk | |
parent | b1ec8b53c9ae5fae33d60e9638d39ca5346b941b (diff) |
clk: qcom: gdsc: Bump parent usage count when GDSC is found enabled
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
Diffstat (limited to 'drivers/clk')
-rw-r--r-- | drivers/clk/qcom/gdsc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/clk/qcom/gdsc.c b/drivers/clk/qcom/gdsc.c index 6f746158d28f..d3244006c661 100644 --- a/drivers/clk/qcom/gdsc.c +++ b/drivers/clk/qcom/gdsc.c @@ -437,6 +437,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. |