[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZBk6G61RUbFPIV3G@linux-8mug>
Date: Tue, 21 Mar 2023 13:01:15 +0800
From: Chester Lin <clin@...e.com>
To: Andy Shevchenko <andy.shevchenko@...il.com>
Cc: Linus Walleij <linus.walleij@...aro.org>,
NXP S32 Linux Team <s32@....com>,
linux-gpio@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
Ghennadi Procopciuc <Ghennadi.Procopciuc@....nxp.com>,
Andrei Stefanescu <andrei.stefanescu@....com>,
Radu Pirea <radu-nicolae.pirea@....com>,
Andreas Färber <afaerber@...e.de>,
Matthias Brugger <mbrugger@...e.com>
Subject: Re: [PATCH v2 3/4] pinctrl: s32cc: refactor pin config parsing
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@...e.com> 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
Powered by blists - more mailing lists