diff mbox series

[v1,1/1] gpio: regmap: Use -ENOTSUPP consistently

Message ID 20240410063930.1199355-1-andy.shevchenko@gmail.com
State New
Headers show
Series [v1,1/1] gpio: regmap: Use -ENOTSUPP consistently | expand

Commit Message

Andy Shevchenko April 10, 2024, 6:39 a.m. UTC
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(-)

Comments

Michael Walle April 11, 2024, 10:46 a.m. UTC | #1
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, &reg, &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, &reg, &mask);
Andy Shevchenko April 11, 2024, 11:26 a.m. UTC | #2
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.
Linus Walleij April 12, 2024, 10:30 a.m. UTC | #3
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
Bartosz Golaszewski April 12, 2024, 7:37 p.m. UTC | #4
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, &reg, &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, &reg, &mask);
> --
> 2.44.0
>

Applied, thanks!

Bart
diff mbox series

Patch

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, &reg, &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, &reg, &mask);