summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBiju Das <biju.das.jz@bp.renesas.com>2026-03-24 14:43:10 +0300
committerGeert Uytterhoeven <geert+renesas@glider.be>2026-03-26 21:40:17 +0300
commitfa3e973ca2d7a46b9f4ad5611b42d1885d7a77b6 (patch)
tree91a5285ca67ffe545aa1b6b3a2fa38299efb5139
parent867fb0bc60602cb3c2458fcd25c841650d37563f (diff)
downloadlinux-fa3e973ca2d7a46b9f4ad5611b42d1885d7a77b6.tar.xz
clk: renesas: rzg2l: Add rzg2l_mod_clock_init_mstop_helper()
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. Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> Link: https://patch.msgid.link/20260324114329.268249-6-biju.das.jz@bp.renesas.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
-rw-r--r--drivers/clk/renesas/rzg2l-cpg.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/drivers/clk/renesas/rzg2l-cpg.c b/drivers/clk/renesas/rzg2l-cpg.c
index a38401c18dcf..738a4b182f27 100644
--- a/drivers/clk/renesas/rzg2l-cpg.c
+++ b/drivers/clk/renesas/rzg2l-cpg.c
@@ -1594,6 +1594,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;
@@ -1603,15 +1617,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);
}
}