[PATCH] clk: Check ops are available in clk_gate_restore_context

From: Cristian Marussi
Date: Sat Jan 20 2024 - 05:07:31 EST


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@xxxxxxxxxxxx>
CC: Stephen Boyd <sboyd@xxxxxxxxxx>
CC: linux-clk@xxxxxxxxxxxxxxx
Fixes: 9be766274db4 ("clk: Clean up suspend/resume coding style")
Signed-off-by: Cristian Marussi <cristian.marussi@xxxxxxx>
---
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(-)

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);

--
2.43.0