[PATCH 06/10] pinctrl: realtek: Fix bit shift when configuring RTD_HIGH_VIL
Yu-Chun Lin [林祐君]
eleanor.lin at realtek.com
Tue Nov 3 22:06:24 PST 2026
> In rtd_pconf_parse_conf(), the RTD_HIGH_VIL case prepares mask as
> BIT(hvil_off) for regmap_update_bits(), but sets val = 1 without shifting it to
> hvil_off. Whenever hvil_off is non-zero,
> regmap_update_bits() masks val with BIT(hvil_off) and clears the high VIL bit
> instead of setting it.
>
> Set val to BIT(hvil_off) so that the target bit is set as intended.
>
> Fixes: dcc9334435b0 ("pinctrl: realtek: add support for slew rate, input voltage
> and high VIL")
> Closes:
> https://sashiko.dev/#/bug/linux-e7077311-3f30-4b77-844b-1447519d0c84
> Cc: stable at vger.kernel.org
> Signed-off-by: Lee Jones <lee at kernel.org>
Reviewed-by: Yu-Chun Lin <eleanor.lin at realtek.com>
> ---
> drivers/pinctrl/realtek/pinctrl-rtd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/realtek/pinctrl-rtd.c
> b/drivers/pinctrl/realtek/pinctrl-rtd.c
> index 2b877099ec85..72773600303b 100644
> --- a/drivers/pinctrl/realtek/pinctrl-rtd.c
> +++ b/drivers/pinctrl/realtek/pinctrl-rtd.c
> @@ -473,7 +473,7 @@ static int rtd_pconf_parse_conf(struct rtd_pinctrl
> *data,
> hvil_off = config_desc->base_bit +
> config_desc->hvil_offset;
> reg_off = config_desc->reg_offset;
> mask = BIT(hvil_off);
> - val = 1;
> + val = BIT(hvil_off);
> break;
>
> case RTD_DRIVE_STRENGTH_P:
> --
> 2.56.0.385.gac671c819a-goog
More information about the linux-arm-kernel
mailing list