[PATCH v6 04/10] clk: renesas: rzg2l-cpg: Add rzg2l_mod_clock_init_mstop_helper()

From: Biju

Date: Thu Mar 19 2026 - 08:57:14 EST


From: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>

Refactor the mstop initialisation logic in rzg2l_mod_clock_init_mstop()
into a dedicated helper function rzg2l_mod_clock_init_mstop_helper(). This
decouples the logic for setting module stop state on disabled clocks from
the iteration loop, allowing it to be reused during resume to re-enable
critical clocks.

No functional change.

Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
---
v6:
* New patch
---
drivers/clk/renesas/rzg2l-cpg.c | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/drivers/clk/renesas/rzg2l-cpg.c b/drivers/clk/renesas/rzg2l-cpg.c
index f9e4af7f49d0..b68b0312f0e3 100644
--- a/drivers/clk/renesas/rzg2l-cpg.c
+++ b/drivers/clk/renesas/rzg2l-cpg.c
@@ -1586,6 +1586,20 @@ static struct mstop *rzg2l_mod_clock_get_mstop(struct rzg2l_cpg_priv *priv, u32
return NULL;
}

+static void rzg2l_mod_clock_init_mstop_helper(struct rzg2l_cpg_priv *priv,
+ struct mod_clock *clk)
+{
+ /*
+ * Out of reset all modules are enabled. Set module state
+ * in case associated clocks are disabled at probe. Otherwise
+ * module is in invalid HW state.
+ */
+ scoped_guard(spinlock_irqsave, &priv->rmw_lock) {
+ if (!rzg2l_mod_clock_is_enabled(&clk->hw))
+ rzg2l_mod_clock_module_set_state(clk, true);
+ }
+}
+
static void rzg2l_mod_clock_init_mstop(struct rzg2l_cpg_priv *priv)
{
struct mod_clock *clk;
@@ -1595,15 +1609,7 @@ static void rzg2l_mod_clock_init_mstop(struct rzg2l_cpg_priv *priv)
if (!clk->mstop)
continue;

- /*
- * Out of reset all modules are enabled. Set module state
- * in case associated clocks are disabled at probe. Otherwise
- * module is in invalid HW state.
- */
- scoped_guard(spinlock_irqsave, &priv->rmw_lock) {
- if (!rzg2l_mod_clock_is_enabled(&clk->hw))
- rzg2l_mod_clock_module_set_state(clk, true);
- }
+ rzg2l_mod_clock_init_mstop_helper(priv, clk);
}
}

--
2.43.0