]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
clk: qcom: gdsc: Don't override existing gdsc pd functions
authorJordan Crouse <jcrouse@codeaurora.org>
Mon, 26 Nov 2018 17:20:31 +0000 (10:20 -0700)
committerStephen Boyd <sboyd@kernel.org>
Wed, 28 Nov 2018 00:54:04 +0000 (16:54 -0800)
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>
drivers/clk/qcom/gdsc.c

index a077133c7ce38328b5c8bebf5f8e6ad3c6b7f166..dd63aa36b092125e99748a0ebd2fe615d5d538fa 100644 (file)
@@ -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;