diff options
author | Jordan Crouse <jcrouse@codeaurora.org> | 2018-11-26 10:20:31 -0700 |
---|---|---|
committer | Stephen Boyd <sboyd@kernel.org> | 2018-11-27 16:54:04 -0800 |
commit | 7895861a963cfa995f4233e83665563ab404f73e (patch) | |
tree | 92fb8557a11ce6088d73a9e342c8b51b671b3b75 /drivers/clk/qcom | |
parent | 453361cdd757a01a2955dbc7480bc7706e09bd86 (diff) | |
download | talos-op-linux-7895861a963cfa995f4233e83665563ab404f73e.tar.gz talos-op-linux-7895861a963cfa995f4233e83665563ab404f73e.zip |
clk: qcom: gdsc: Don't override existing gdsc pd functions
In extreme cases an individual gdsc may wish to override the
power domain enable or disable callback functions for their own
purposes. Only set the generic gdsc callback if the function pointers
are not already set.
Acked-by: Rajendra Nayak <rnayak@codeaurora.org>
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'drivers/clk/qcom')
-rw-r--r-- | drivers/clk/qcom/gdsc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/clk/qcom/gdsc.c b/drivers/clk/qcom/gdsc.c index a077133c7ce3..dd63aa36b092 100644 --- a/drivers/clk/qcom/gdsc.c +++ b/drivers/clk/qcom/gdsc.c @@ -350,8 +350,10 @@ static int gdsc_init(struct gdsc *sc) else gdsc_clear_mem_on(sc); - sc->pd.power_off = gdsc_disable; - sc->pd.power_on = gdsc_enable; + if (!sc->pd.power_off) + sc->pd.power_off = gdsc_disable; + if (!sc->pd.power_on) + sc->pd.power_on = gdsc_enable; pm_genpd_init(&sc->pd, NULL, !on); return 0; |