linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 31/54] pinctrl: sunxi: Be sure to clamp return value
@ 2015-12-22 14:32 Linus Walleij
  2015-12-22 14:39 ` Chen-Yu Tsai
  0 siblings, 1 reply; 2+ messages in thread
From: Linus Walleij @ 2015-12-22 14:32 UTC (permalink / raw)
  To: linux-gpio, Chen-Yu Tsai, Maxime Ripard; +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: Chen-Yu Tsai <wens@csie.org>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/pinctrl/sunxi/pinctrl-sunxi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
index a437e4f8628b..c53a2dbdb5cf 100644
--- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c
+++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
@@ -469,7 +469,7 @@ static int sunxi_pinctrl_gpio_get(struct gpio_chip *chip, unsigned offset)
 	if (set_mux)
 		sunxi_pmx_set(pctl->pctl_dev, offset, SUN4I_FUNC_IRQ);
 
-	return val;
+	return !!val;
 }
 
 static void sunxi_pinctrl_gpio_set(struct gpio_chip *chip,
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 31/54] pinctrl: sunxi: Be sure to clamp return value
  2015-12-22 14:32 [PATCH 31/54] pinctrl: sunxi: Be sure to clamp return value Linus Walleij
@ 2015-12-22 14:39 ` Chen-Yu Tsai
  0 siblings, 0 replies; 2+ messages in thread
From: Chen-Yu Tsai @ 2015-12-22 14:39 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-gpio@vger.kernel.org, Chen-Yu Tsai, Maxime Ripard

On Tue, Dec 22, 2015 at 10:32 PM, Linus Walleij
<linus.walleij@linaro.org> 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.
>
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>  drivers/pinctrl/sunxi/pinctrl-sunxi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
> index a437e4f8628b..c53a2dbdb5cf 100644
> --- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c
> +++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
> @@ -469,7 +469,7 @@ static int sunxi_pinctrl_gpio_get(struct gpio_chip *chip, unsigned offset)

Above 2 lines:

        val = (readl(pctl->membase + reg) >> index) & DATA_PINS_MASK;

Where DATA_PINS_MASK is 0x01. I think we're covered. But if the !!
design pattern
makes it clearer,

Acked-by: Chen-Yu Tsai <wens@csie.org>

>         if (set_mux)
>                 sunxi_pmx_set(pctl->pctl_dev, offset, SUN4I_FUNC_IRQ);
>
> -       return val;
> +       return !!val;
>  }
>
>  static void sunxi_pinctrl_gpio_set(struct gpio_chip *chip,
> --
> 2.4.3
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-12-22 14:40 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:32 [PATCH 31/54] pinctrl: sunxi: Be sure to clamp return value Linus Walleij
2015-12-22 14:39 ` Chen-Yu Tsai

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).