From: Jordan Crouse Date: Mon, 26 Nov 2018 17:20:31 +0000 (-0700) Subject: clk: qcom: gdsc: Don't override existing gdsc pd functions X-Git-Tag: v5.0-rc1~171^2~9^3~3 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=7895861a963cfa995f4233e83665563ab404f73e;p=linux.git 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 Signed-off-by: Jordan Crouse Signed-off-by: Stephen Boyd --- 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;