* [PATCH 09/54] gpio: max732x: Be sure to clamp return value
@ 2015-12-22 14:14 Linus Walleij
2015-12-22 14:46 ` Marek Vasut
0 siblings, 1 reply; 2+ messages in thread
From: Linus Walleij @ 2015-12-22 14:14 UTC (permalink / raw)
To: linux-gpio, Marek Vasut, Semen Protsenko; +Cc: Linus Walleij, Nicholas Krause
As we want gpio_chip .get() calls to be able to return negative
error codes and propagate to drivers, we need to go over all
drivers and make sure their return values are clamped to [0,1].
We do this by using the ret = !!(val) design pattern.
Also start to propagate the error code here as the end of the
series fixes this to work for all drivers.
Cc: Nicholas Krause <xerofoify@gmail.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Semen Protsenko <semen.protsenko@globallogic.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
drivers/gpio/gpio-max732x.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpio/gpio-max732x.c b/drivers/gpio/gpio-max732x.c
index a1094984b666..880ce94e6077 100644
--- a/drivers/gpio/gpio-max732x.c
+++ b/drivers/gpio/gpio-max732x.c
@@ -207,9 +207,9 @@ static int max732x_gpio_get_value(struct gpio_chip *gc, unsigned off)
ret = max732x_readb(chip, is_group_a(chip, off), ®_val);
if (ret < 0)
- return 0;
+ return ret;
- return reg_val & (1u << (off & 0x7));
+ return !!(reg_val & (1u << (off & 0x7)));
}
static void max732x_gpio_set_mask(struct gpio_chip *gc, unsigned off, int mask,
--
2.4.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH 09/54] gpio: max732x: Be sure to clamp return value
2015-12-22 14:14 [PATCH 09/54] gpio: max732x: Be sure to clamp return value Linus Walleij
@ 2015-12-22 14:46 ` Marek Vasut
0 siblings, 0 replies; 2+ messages in thread
From: Marek Vasut @ 2015-12-22 14:46 UTC (permalink / raw)
To: Linus Walleij; +Cc: linux-gpio, Semen Protsenko, Nicholas Krause
On Tuesday, December 22, 2015 at 03:14:10 PM, Linus Walleij wrote:
> As we want gpio_chip .get() calls to be able to return negative
> error codes and propagate to drivers, we need to go over all
> drivers and make sure their return values are clamped to [0,1].
> We do this by using the ret = !!(val) design pattern.
>
> Also start to propagate the error code here as the end of the
> series fixes this to work for all drivers.
>
> Cc: Nicholas Krause <xerofoify@gmail.com>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Semen Protsenko <semen.protsenko@globallogic.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
I see nothing obviously wrong with the patch:
Reviewed-by: Marek Vasut <marex@denx.de>
> ---
> drivers/gpio/gpio-max732x.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpio/gpio-max732x.c b/drivers/gpio/gpio-max732x.c
> index a1094984b666..880ce94e6077 100644
> --- a/drivers/gpio/gpio-max732x.c
> +++ b/drivers/gpio/gpio-max732x.c
> @@ -207,9 +207,9 @@ static int max732x_gpio_get_value(struct gpio_chip *gc,
> unsigned off)
>
> ret = max732x_readb(chip, is_group_a(chip, off), ®_val);
> if (ret < 0)
> - return 0;
> + return ret;
>
> - return reg_val & (1u << (off & 0x7));
> + return !!(reg_val & (1u << (off & 0x7)));
> }
>
> static void max732x_gpio_set_mask(struct gpio_chip *gc, unsigned off, int
> mask,
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-12-22 14:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-22 14:14 [PATCH 09/54] gpio: max732x: Be sure to clamp return value Linus Walleij
2015-12-22 14:46 ` Marek Vasut
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).