[PATCH v4 6/7] pinctrl: renesas: rzg2l: Simplify rzg2l_pinctrl_set_mux()

From: Biju

Date: Thu Apr 30 2026 - 05:39:17 EST


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

The port and function selectors are evaluated multiple times
in rzg2l_pinctrl_set_mux(). Simplify the function by dropping
dupicate evaluation storing them in local variables.

Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
---
v3->v4:
* Updated the data type of func varaible from u8 to unsigned int.
* Collected the tag.
v3:
* New patch.
---
drivers/pinctrl/renesas/pinctrl-rzg2l.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/pinctrl/renesas/pinctrl-rzg2l.c b/drivers/pinctrl/renesas/pinctrl-rzg2l.c
index 004096d5d1d1..eff5fc081ec8 100644
--- a/drivers/pinctrl/renesas/pinctrl-rzg2l.c
+++ b/drivers/pinctrl/renesas/pinctrl-rzg2l.c
@@ -687,16 +687,18 @@ static int rzg2l_pinctrl_set_mux(struct pinctrl_dev *pctldev,
for (i = 0; i < group->grp.npins; i++) {
u64 *pin_data = pctrl->desc.pins[pins[i]].drv_data;
u32 off = RZG2L_PIN_CFG_TO_PORT_OFFSET(*pin_data);
+ u32 port = RZG2L_PIN_ID_TO_PORT(pins[i]);
u32 pin = RZG2L_PIN_ID_TO_PIN(pins[i]);
+ unsigned int func;

- ret = rzg2l_validate_pin(pctrl, *pin_data, RZG2L_PIN_ID_TO_PORT(pins[i]), pin);
+ ret = rzg2l_validate_pin(pctrl, *pin_data, port, pin);
if (ret)
return ret;

- dev_dbg(pctrl->dev, "port:%u pin: %u off:%x PSEL:%u\n",
- RZG2L_PIN_ID_TO_PORT(pins[i]), pin, off, psel_val[i] - hwcfg->func_base);
+ func = psel_val[i] - hwcfg->func_base;
+ dev_dbg(pctrl->dev, "port:%u pin: %u off:%x PSEL:%u\n", port, pin, off, func);

- rzg2l_pinctrl_set_pfc_mode(pctrl, pin, off, psel_val[i] - hwcfg->func_base);
+ rzg2l_pinctrl_set_pfc_mode(pctrl, pin, off, func);
}

return 0;
--
2.43.0