Re: [PATCH v2 3/4] pinctrl: s32cc: refactor pin config parsing

From: Chester Lin
Date: Tue Mar 21 2023 - 01:03:31 EST


On Mon, Mar 20, 2023 at 07:06:53PM +0200, Andy Shevchenko wrote:
> On Mon, Mar 20, 2023 at 6:39 PM Chester Lin <clin@xxxxxxxx> wrote:
> >
> > Move common codes into smaller inline functions and remove some argument
> > handlings that are not actually used by either S32 MSCR register or generic
> > config params.
>
> ...
>
> > case PIN_CONFIG_OUTPUT_ENABLE:
> > - if (arg)
> > - *config |= S32_MSCR_OBE;
> > - else
> > - *config &= ~S32_MSCR_OBE;
> > + *config |= S32_MSCR_OBE;
> > *mask |= S32_MSCR_OBE;
> > break;
> > case PIN_CONFIG_INPUT_ENABLE:
> > - if (arg)
> > - *config |= S32_MSCR_IBE;
> > - else
> > - *config &= ~S32_MSCR_IBE;
> > + *config |= S32_MSCR_IBE;
> > *mask |= S32_MSCR_IBE;
> > break;
>
> Isn't it a regression here?
> Otherwise needs an explicit explanation in the commit message on
> what's going on here and why it's not a regression.

Oops, it's wrong implementation. The argument checks of OUTPUT_EN and INPUT_EN
shouldn't be dropped. Thanks for the reminder and I will fix it.

Regards,
Chester

>
> ...
>
> > case PIN_CONFIG_BIAS_DISABLE:
> > - *config &= ~(S32_MSCR_PUS | S32_MSCR_PUE);
> > - *mask |= S32_MSCR_PUS | S32_MSCR_PUE;
> > + s32_pin_set_pull(param, mask, config);
> > break;
>
> This now can be unified with PU and PD cases above.
>
> --
> With Best Regards,
> Andy Shevchenko