Message ID | 20240120100711.2832897-1-cristian.marussi@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | clk: Check ops are available in clk_gate_restore_context | expand |
Quoting Cristian Marussi (2024-01-20 02:07:11) > Add a check in clk_gate_restore_context() to assure that the clock enable > and disable ops are available before calling them. > > CC: Michael Turquette <mturquette@baylibre.com> > CC: Stephen Boyd <sboyd@kernel.org> > CC: linux-clk@vger.kernel.org > Fixes: 9be766274db4 ("clk: Clean up suspend/resume coding style") > Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> > --- > Spotted this by code inspection. > I may be missing something, though, given my limited familiarity with CLK. It assumes this is for a gate clk, which has enable/disable clk ops. Also, only TI uses this code and I suggest you don't use it.
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index f0940af485a5..79b90a8099d7 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -1200,9 +1200,11 @@ void clk_gate_restore_context(struct clk_hw *hw) struct clk_core *core = hw->core; if (core->enable_count) - core->ops->enable(hw); + if (core->ops->enable) + core->ops->enable(hw); else - core->ops->disable(hw); + if (core->ops->disable) + core->ops->disable(hw); } EXPORT_SYMBOL_GPL(clk_gate_restore_context);
Add a check in clk_gate_restore_context() to assure that the clock enable and disable ops are available before calling them. CC: Michael Turquette <mturquette@baylibre.com> CC: Stephen Boyd <sboyd@kernel.org> CC: linux-clk@vger.kernel.org Fixes: 9be766274db4 ("clk: Clean up suspend/resume coding style") Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> --- Spotted this by code inspection. I may be missing something, though, given my limited familiarity with CLK. --- drivers/clk/clk.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)