diff --git a/drivers/clk/clk-gate.c b/drivers/clk/clk-gate.c index 5a0d5b23a3bf..573c9ac4c454 100644 --- a/drivers/clk/clk-gate.c +++ b/drivers/clk/clk-gate.c @@ -16,6 +16,10 @@ #include #include +static bool clk_always_on; +module_param_named(always_on, clk_always_on, bool, 0644); +MODULE_PARM_DESC(always_on, "Always keep clks on except for system suspend."); + /** * DOC: basic gatable clock which can gate and ungate it's ouput * @@ -46,6 +50,9 @@ static void clk_gate_endisable(struct clk_hw *hw, int enable) unsigned long uninitialized_var(flags); u32 reg; + if (clk_always_on && !enable) + return; + set ^= enable; if (gate->lock)