Message ID | 20241011144826.381104-1-emil.renner.berthing@canonical.com |
---|---|
Headers | show |
Series | pinctrl: th1520: Unbreak the driver | expand |
On Fri, Oct 11, 2024 at 04:48:23PM +0200, Emil Renner Berthing wrote: > When Drew took over the pinctrl driver he must have changed > all the -ENOTSUPP returns into -EOPNOTSUPP. This subtle change > was most likely not spotted because it was never mentioned in the > changelog of the patchset, but it breaks all the places in the > pin control and GPIO frameworks where -ENOTSUPP is expected. > > Fixes: bed5cd6f8a98 ("pinctrl: Add driver for the T-Head TH1520 SoC") > Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com> > --- > drivers/pinctrl/pinctrl-th1520.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/pinctrl/pinctrl-th1520.c b/drivers/pinctrl/pinctrl-th1520.c > index c8d2ee6defa7..03326df69668 100644 > --- a/drivers/pinctrl/pinctrl-th1520.c > +++ b/drivers/pinctrl/pinctrl-th1520.c > @@ -591,7 +591,7 @@ static int th1520_pinconf_get(struct pinctrl_dev *pctldev, > u32 arg; > > if ((uintptr_t)desc->drv_data & TH1520_PAD_NO_PADCFG) > - return -EOPNOTSUPP; > + return -ENOTSUPP; > > value = readl_relaxed(th1520_padcfg(thp, pin)); > value = (value >> th1520_padcfg_shift(pin)) & GENMASK(9, 0); > @@ -636,7 +636,7 @@ static int th1520_pinconf_get(struct pinctrl_dev *pctldev, > arg = enabled ? 1 : 0; > break; > default: > - return -EOPNOTSUPP; > + return -ENOTSUPP; > } > > *config = pinconf_to_config_packed(param, arg); > @@ -661,7 +661,7 @@ static int th1520_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin, > u16 mask, value; > > if ((uintptr_t)desc->drv_data & TH1520_PAD_NO_PADCFG) > - return -EOPNOTSUPP; > + return -ENOTSUPP; > > mask = 0; > value = 0; > @@ -676,14 +676,14 @@ static int th1520_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin, > break; > case PIN_CONFIG_BIAS_PULL_DOWN: > if (arg == 0) > - return -EOPNOTSUPP; > + return -ENOTSUPP; > mask |= TH1520_PADCFG_BIAS; > value &= ~TH1520_PADCFG_BIAS; > value |= TH1520_PADCFG_PE; > break; > case PIN_CONFIG_BIAS_PULL_UP: > if (arg == 0) > - return -EOPNOTSUPP; > + return -ENOTSUPP; > mask |= TH1520_PADCFG_BIAS; > value &= ~TH1520_PADCFG_BIAS; > if (arg == TH1520_PULL_STRONG_OHM) > @@ -718,7 +718,7 @@ static int th1520_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin, > value &= ~TH1520_PADCFG_SL; > break; > default: > - return -EOPNOTSUPP; > + return -ENOTSUPP; > } > } > > -- > 2.43.0 > Reviewed-by: Drew Fustini <dfustini@tenstorrent.com> Thanks for the fix. This was something I changed due to checkpatch ("ENOTSUPP is not a SUSV4 error code, prefer EOPNOTSUPP") wihtout realizing the implication. -Drew
On Fri, Oct 11, 2024 at 04:48:22PM +0200, Emil Renner Berthing wrote: > Hi, > > Here are 2 important fixes and a code improvement to the T-Head TH1520 > pinctrl driver that was either introduced or missed when Drew took over > upstreaming it. > > It is based on Linus' pinctrl/for-next: > > 6dbd1577b7dc ("Merge branch 'devel' into for-next") > > Emil Renner Berthing (3): > pinctrl: th1520: Fix pinconf return values > pinctrl: th1520: Update pinmux tables > pinctrl: th1520: Factor out casts > > drivers/pinctrl/pinctrl-th1520.c | 52 ++++++++++++++++++++------------ > 1 file changed, 32 insertions(+), 20 deletions(-) > > -- > 2.43.0 Emil informed me that the out-of-tree USB driver is broken when trying to use the pinctrl-th1520 driver that I submitted. This is because I had changed -ENOTSUPP to -EOPNOTSUPP to silence a checkpatch warning without realizing the implication. I've just been working on the dwmac etherenet series [1] on top of mainline and I didn't realize there was a problem with gpio. I've just rebuilt and booted okay on lpi4a and beaglev ahead with this series. For the whole series: Tested-by: Drew Fustini <dfustini@tenstorrent.com> [1] https://lore.kernel.org/linux-riscv/20240930-th1520-dwmac-v3-0-ae3e03c225ab@tenstorrent.com/
On Fri, Oct 11, 2024 at 09:28:10PM +0200, Linus Walleij wrote: > On Fri, Oct 11, 2024 at 4:48 PM Emil Renner Berthing > <emil.renner.berthing@canonical.com> wrote: > > > Here are 2 important fixes and a code improvement to the T-Head TH1520 > > pinctrl driver that was either introduced or missed when Drew took over > > upstreaming it. > > > > It is based on Linus' pinctrl/for-next: > > > > 6dbd1577b7dc ("Merge branch 'devel' into for-next") > > All patches applied! > > Yours, > Linus Walleij Hi Linus, Which branch did you apply these patches to? I don't see them in your devel branch [1]. Thanks, Drew [1] https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git/log/?h=devel