linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 30/54] gpio: ssbi-mpp: Be sure to clamp return value
@ 2015-12-22 14:31 Linus Walleij
  2015-12-28  4:01 ` Bjorn Andersson
  0 siblings, 1 reply; 2+ messages in thread
From: Linus Walleij @ 2015-12-22 14:31 UTC (permalink / raw)
  To: linux-gpio, Ivan T. Ivanov, Björn Andersson; +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.

This code was also double-inverting a bool which makes no sense
so I removed that code and moved clamping toward the end.

Cc: Björn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
index 8f5c96cbf94e..23089d541230 100644
--- a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
+++ b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
@@ -502,13 +502,13 @@ static int pm8xxx_mpp_get(struct gpio_chip *chip, unsigned offset)
 	int ret;
 
 	if (!pin->input)
-		return pin->output_value;
+		return !!pin->output_value;
 
 	ret = irq_get_irqchip_state(pin->irq, IRQCHIP_STATE_LINE_LEVEL, &state);
 	if (!ret)
-		ret = !!state;
+		ret = state;
 
-	return ret;
+	return !!ret;
 }
 
 static void pm8xxx_mpp_set(struct gpio_chip *chip, unsigned offset, int value)
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 30/54] gpio: ssbi-mpp: Be sure to clamp return value
  2015-12-22 14:31 [PATCH 30/54] gpio: ssbi-mpp: Be sure to clamp return value Linus Walleij
@ 2015-12-28  4:01 ` Bjorn Andersson
  0 siblings, 0 replies; 2+ messages in thread
From: Bjorn Andersson @ 2015-12-28  4:01 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-gpio, Ivan T. Ivanov, Bj?rn Andersson

On Tue 22 Dec 06:31 PST 2015, 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.
> 
> This code was also double-inverting a bool which makes no sense
> so I removed that code and moved clamping toward the end.
> 
> Cc: Björn Andersson <bjorn.andersson@sonymobile.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>  drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
> index 8f5c96cbf94e..23089d541230 100644
> --- a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
> +++ b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c
> @@ -502,13 +502,13 @@ static int pm8xxx_mpp_get(struct gpio_chip *chip, unsigned offset)
>  	int ret;
>  
>  	if (!pin->input)
> -		return pin->output_value;
> +		return !!pin->output_value;

Per my answer on the gpio driver, you have my Reviewed-by on this piece.

>  
>  	ret = irq_get_irqchip_state(pin->irq, IRQCHIP_STATE_LINE_LEVEL, &state);
>  	if (!ret)
> -		ret = !!state;
> +		ret = state;
>  
> -	return ret;
> +	return !!ret;

But not on these two.

Regards,
Bjorn

>  }
>  
>  static void pm8xxx_mpp_set(struct gpio_chip *chip, unsigned offset, int value)
> -- 
> 2.4.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2015-12-28  4:01 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:31 [PATCH 30/54] gpio: ssbi-mpp: Be sure to clamp return value Linus Walleij
2015-12-28  4:01 ` Bjorn Andersson

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