* [PATCH 04/54] gpio: ich: Be sure to clamp return value
@ 2015-12-22 14:11 Linus Walleij
2015-12-23 16:59 ` Aaron Sierra
0 siblings, 1 reply; 3+ messages in thread
From: Linus Walleij @ 2015-12-22 14:11 UTC (permalink / raw)
To: linux-gpio, Aaron Sierra; +Cc: Linus Walleij
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.
Cc: Aaron Sierra <asierra@xes-inc.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
drivers/gpio/gpio-ich.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpio/gpio-ich.c b/drivers/gpio/gpio-ich.c
index 8623d12e23c1..68e525a3cea3 100644
--- a/drivers/gpio/gpio-ich.c
+++ b/drivers/gpio/gpio-ich.c
@@ -236,9 +236,9 @@ static int ich6_gpio_get(struct gpio_chip *chip, unsigned nr)
spin_unlock_irqrestore(&ichx_priv.lock, flags);
- return (data >> 16) & (1 << nr) ? 1 : 0;
+ return !!((data >> 16) & (1 << nr));
} else {
- return ichx_gpio_get(chip, nr);
+ return !!ichx_gpio_get(chip, nr);
}
}
--
2.4.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 04/54] gpio: ich: Be sure to clamp return value
2015-12-22 14:11 [PATCH 04/54] gpio: ich: Be sure to clamp return value Linus Walleij
@ 2015-12-23 16:59 ` Aaron Sierra
2015-12-25 12:43 ` Linus Walleij
0 siblings, 1 reply; 3+ messages in thread
From: Aaron Sierra @ 2015-12-23 16:59 UTC (permalink / raw)
To: Linus Walleij; +Cc: linux-gpio
----- Original Message -----
> From: "Linus Walleij" <linus.walleij@linaro.org>
> Sent: Tuesday, December 22, 2015 8:11:33 AM
>
> 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.
>
> Cc: Aaron Sierra <asierra@xes-inc.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> drivers/gpio/gpio-ich.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpio/gpio-ich.c b/drivers/gpio/gpio-ich.c
> index 8623d12e23c1..68e525a3cea3 100644
> --- a/drivers/gpio/gpio-ich.c
> +++ b/drivers/gpio/gpio-ich.c
> @@ -236,9 +236,9 @@ static int ich6_gpio_get(struct gpio_chip *chip, unsigned
> nr)
>
> spin_unlock_irqrestore(&ichx_priv.lock, flags);
>
> - return (data >> 16) & (1 << nr) ? 1 : 0;
> + return !!((data >> 16) & (1 << nr));
Linus,
Is this particular change done to simplify verification via Coccinelle? Otherwise,
this value is already clamped to 0/1.
> } else {
> - return ichx_gpio_get(chip, nr);
> + return !!ichx_gpio_get(chip, nr);
The current definition of ichx_gpio_get() is just a wrapper for
ichx_read_bit(), which clamps the return value to 0 and 1.
Suppose there were an opportunity to catch an error with these GPIOs. In that
case, ichx_gpio_get() would be the best candidate to return an error code. I
think this particular change should be dropped.
> }
> }
-Aaron S.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 04/54] gpio: ich: Be sure to clamp return value
2015-12-23 16:59 ` Aaron Sierra
@ 2015-12-25 12:43 ` Linus Walleij
0 siblings, 0 replies; 3+ messages in thread
From: Linus Walleij @ 2015-12-25 12:43 UTC (permalink / raw)
To: Aaron Sierra; +Cc: linux-gpio@vger.kernel.org
On Wed, Dec 23, 2015 at 5:59 PM, Aaron Sierra <asierra@xes-inc.com> wrote:
>> - return (data >> 16) & (1 << nr) ? 1 : 0;
>> + return !!((data >> 16) & (1 << nr));
>
> Linus,
> Is this particular change done to simplify verification via Coccinelle? Otherwise,
> this value is already clamped to 0/1.
No this was my manual inspection, which isn't very accurate. When
in doubt, I made a patch. I'll drop this then, thanks!
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-12-25 12:43 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-22 14:11 [PATCH 04/54] gpio: ich: Be sure to clamp return value Linus Walleij
2015-12-23 16:59 ` Aaron Sierra
2015-12-25 12:43 ` Linus Walleij
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).