Message ID | 20240410063930.1199355-1-andy.shevchenko@gmail.com |
---|---|
State | New |
Headers | show |
Series | [v1,1/1] gpio: regmap: Use -ENOTSUPP consistently | expand |
Hi Andy, On Wed Apr 10, 2024 at 8:39 AM CEST, Andy Shevchenko wrote: > The GPIO library expects the drivers to return -ENOTSUPP in some cases > and not using analogue POSIX code. Make the driver to follow this. I don't care too much, so if you like you can add Reviewed-by: Michael Walle <mwalle@kernel.org> But.. isn't it the wrong errno and isn't it discouraged to use it because it's a NFS only errno? Thus, wouldn't it make more sense for the core to accept EOPNOTSUPP and maybe convert it to ENOTSUPP if we don't want to break userspace? -michael > Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> > --- > drivers/gpio/gpio-regmap.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpio/gpio-regmap.c b/drivers/gpio/gpio-regmap.c > index c08c8e528867e..71684dee2ca5d 100644 > --- a/drivers/gpio/gpio-regmap.c > +++ b/drivers/gpio/gpio-regmap.c > @@ -129,7 +129,7 @@ static int gpio_regmap_get_direction(struct gpio_chip *chip, > base = gpio_regmap_addr(gpio->reg_dir_in_base); > invert = 1; > } else { > - return -EOPNOTSUPP; > + return -ENOTSUPP; > } > > ret = gpio->reg_mask_xlate(gpio, base, offset, ®, &mask); > @@ -160,7 +160,7 @@ static int gpio_regmap_set_direction(struct gpio_chip *chip, > base = gpio_regmap_addr(gpio->reg_dir_in_base); > invert = 1; > } else { > - return -EOPNOTSUPP; > + return -ENOTSUPP; > } > > ret = gpio->reg_mask_xlate(gpio, base, offset, ®, &mask);
On Thu, Apr 11, 2024 at 1:46 PM Michael Walle <mwalle@kernel.org> wrote: > On Wed Apr 10, 2024 at 8:39 AM CEST, Andy Shevchenko wrote: > > The GPIO library expects the drivers to return -ENOTSUPP in some cases > > and not using analogue POSIX code. Make the driver to follow this. > > I don't care too much, so if you like you can add > > Reviewed-by: Michael Walle <mwalle@kernel.org> Thank you! > But.. isn't it the wrong errno and isn't it discouraged to use it > because it's a NFS only errno? Thus, wouldn't it make more sense for > the core to accept EOPNOTSUPP and maybe convert it to ENOTSUPP if we > don't want to break userspace? We don't break user space as it is used purely internally to the GPIO / pin control subsystems (which are in our area of interest, unlike plenty of other users). The decision to have this error code had been made long time ago and now somebody probably is welcome to update, but for the sake of consistency let's continue what was done by design.
On Wed, Apr 10, 2024 at 8:39 AM Andy Shevchenko <andy.shevchenko@gmail.com> wrote: > The GPIO library expects the drivers to return -ENOTSUPP in some cases > and not using analogue POSIX code. Make the driver to follow this. > > Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
On Wed, Apr 10, 2024 at 8:39 AM Andy Shevchenko <andy.shevchenko@gmail.com> wrote: > > The GPIO library expects the drivers to return -ENOTSUPP in some cases > and not using analogue POSIX code. Make the driver to follow this. > > Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> > --- > drivers/gpio/gpio-regmap.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpio/gpio-regmap.c b/drivers/gpio/gpio-regmap.c > index c08c8e528867e..71684dee2ca5d 100644 > --- a/drivers/gpio/gpio-regmap.c > +++ b/drivers/gpio/gpio-regmap.c > @@ -129,7 +129,7 @@ static int gpio_regmap_get_direction(struct gpio_chip *chip, > base = gpio_regmap_addr(gpio->reg_dir_in_base); > invert = 1; > } else { > - return -EOPNOTSUPP; > + return -ENOTSUPP; > } > > ret = gpio->reg_mask_xlate(gpio, base, offset, ®, &mask); > @@ -160,7 +160,7 @@ static int gpio_regmap_set_direction(struct gpio_chip *chip, > base = gpio_regmap_addr(gpio->reg_dir_in_base); > invert = 1; > } else { > - return -EOPNOTSUPP; > + return -ENOTSUPP; > } > > ret = gpio->reg_mask_xlate(gpio, base, offset, ®, &mask); > -- > 2.44.0 > Applied, thanks! Bart
diff --git a/drivers/gpio/gpio-regmap.c b/drivers/gpio/gpio-regmap.c index c08c8e528867e..71684dee2ca5d 100644 --- a/drivers/gpio/gpio-regmap.c +++ b/drivers/gpio/gpio-regmap.c @@ -129,7 +129,7 @@ static int gpio_regmap_get_direction(struct gpio_chip *chip, base = gpio_regmap_addr(gpio->reg_dir_in_base); invert = 1; } else { - return -EOPNOTSUPP; + return -ENOTSUPP; } ret = gpio->reg_mask_xlate(gpio, base, offset, ®, &mask); @@ -160,7 +160,7 @@ static int gpio_regmap_set_direction(struct gpio_chip *chip, base = gpio_regmap_addr(gpio->reg_dir_in_base); invert = 1; } else { - return -EOPNOTSUPP; + return -ENOTSUPP; } ret = gpio->reg_mask_xlate(gpio, base, offset, ®, &mask);
The GPIO library expects the drivers to return -ENOTSUPP in some cases and not using analogue POSIX code. Make the driver to follow this. Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> --- drivers/gpio/gpio-regmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)