[PATCH 2/3] mfd: rz-mtu3: reuse shared_reg_update_bit() in start_stop_ch()

From: Cosmin Tanislav

Date: Mon Sep 14 2026 - 16:17:07 EST


rz_mtu3_start_stop_ch() performs the same shared register update
sequence already implemented by rz_mtu3_shared_reg_update_bit().

Reuse the helper instead of open-coding the read-modify-write sequence.

Signed-off-by: Cosmin Tanislav <cosmin-gabriel.tanislav.xa@xxxxxxxxxxx>
---
drivers/mfd/rz-mtu3.c | 26 ++++++--------------------
1 file changed, 6 insertions(+), 20 deletions(-)

diff --git a/drivers/mfd/rz-mtu3.c b/drivers/mfd/rz-mtu3.c
index d809436e2124..88aa1fedf1ef 100644
--- a/drivers/mfd/rz-mtu3.c
+++ b/drivers/mfd/rz-mtu3.c
@@ -171,12 +171,12 @@ void rz_mtu3_shared_reg_update_bit(struct rz_mtu3_channel *ch, u16 offset,
u16 pos, u8 val)
{
struct rz_mtu3_priv *priv = rz_mtu3_ch_to_priv(ch);
- unsigned long tmdr, flags;
+ unsigned long reg_val, flags;

spin_lock_irqsave(&priv->lock, flags);
- tmdr = rz_mtu3_shared_reg_read(ch, offset);
- __assign_bit(pos, &tmdr, !!val);
- rz_mtu3_shared_reg_write(ch, offset, tmdr);
+ reg_val = rz_mtu3_shared_reg_read(ch, offset);
+ __assign_bit(pos, &reg_val, !!val);
+ rz_mtu3_shared_reg_write(ch, offset, reg_val);
spin_unlock_irqrestore(&priv->lock, flags);
}
EXPORT_SYMBOL_GPL(rz_mtu3_shared_reg_update_bit);
@@ -243,22 +243,8 @@ static u8 rz_mtu3_get_tstr_bit_pos(struct rz_mtu3_channel *ch)

static void rz_mtu3_start_stop_ch(struct rz_mtu3_channel *ch, bool start)
{
- struct rz_mtu3_priv *priv = rz_mtu3_ch_to_priv(ch);
- unsigned long flags, tstr;
- u16 offset;
- u8 bitpos;
-
- offset = rz_mtu3_get_tstr_offset(ch);
- bitpos = rz_mtu3_get_tstr_bit_pos(ch);
-
- /* start stop register shared by multiple timer channels */
- spin_lock_irqsave(&priv->lock, flags);
-
- tstr = rz_mtu3_shared_reg_read(ch, offset);
- __assign_bit(bitpos, &tstr, start);
- rz_mtu3_shared_reg_write(ch, offset, tstr);
-
- spin_unlock_irqrestore(&priv->lock, flags);
+ rz_mtu3_shared_reg_update_bit(ch, rz_mtu3_get_tstr_offset(ch),
+ rz_mtu3_get_tstr_bit_pos(ch), start);
}

bool rz_mtu3_is_enabled(struct rz_mtu3_channel *ch)
--
2.55.0