linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 49/54] mfd: tps65010: Be sure to clamp return value
@ 2015-12-22 14:48 Linus Walleij
  2016-01-11  7:43 ` Lee Jones
  0 siblings, 1 reply; 2+ messages in thread
From: Linus Walleij @ 2015-12-22 14:48 UTC (permalink / raw)
  To: linux-gpio, Lee Jones; +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 also start to propagate the negative error code from the
smbus call if there is one, as the last commit of this series
will make the gpiolib core deal with that properly.

Cc: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
Lee: as mentioned in 00/54: either apply this directly
or ACK it and I will take it into the GPIO tree.
---
 drivers/mfd/tps65010.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mfd/tps65010.c b/drivers/mfd/tps65010.c
index b96847491277..83e615ed100a 100644
--- a/drivers/mfd/tps65010.c
+++ b/drivers/mfd/tps65010.c
@@ -499,11 +499,11 @@ static int tps65010_gpio_get(struct gpio_chip *chip, unsigned offset)
 	if (offset < 4) {
 		value = i2c_smbus_read_byte_data(tps->client, TPS_DEFGPIO);
 		if (value < 0)
-			return 0;
+			return value;
 		if (value & (1 << (offset + 4)))	/* output */
 			return !(value & (1 << offset));
 		else					/* input */
-			return (value & (1 << offset));
+			return !!(value & (1 << offset));
 	}
 
 	/* REVISIT we *could* report LED1/nPG and LED2 state ... */
-- 
2.4.3


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

* Re: [PATCH 49/54] mfd: tps65010: Be sure to clamp return value
  2015-12-22 14:48 [PATCH 49/54] mfd: tps65010: Be sure to clamp return value Linus Walleij
@ 2016-01-11  7:43 ` Lee Jones
  0 siblings, 0 replies; 2+ messages in thread
From: Lee Jones @ 2016-01-11  7:43 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-gpio

On Tue, 22 Dec 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 also start to propagate the negative error code from the
> smbus call if there is one, as the last commit of this series
> will make the gpiolib core deal with that properly.
> 
> Cc: Lee Jones <lee.jones@linaro.org>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> Lee: as mentioned in 00/54: either apply this directly
> or ACK it and I will take it into the GPIO tree.
> ---
>  drivers/mfd/tps65010.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Applied, thanks.

> diff --git a/drivers/mfd/tps65010.c b/drivers/mfd/tps65010.c
> index b96847491277..83e615ed100a 100644
> --- a/drivers/mfd/tps65010.c
> +++ b/drivers/mfd/tps65010.c
> @@ -499,11 +499,11 @@ static int tps65010_gpio_get(struct gpio_chip *chip, unsigned offset)
>  	if (offset < 4) {
>  		value = i2c_smbus_read_byte_data(tps->client, TPS_DEFGPIO);
>  		if (value < 0)
> -			return 0;
> +			return value;
>  		if (value & (1 << (offset + 4)))	/* output */
>  			return !(value & (1 << offset));
>  		else					/* input */
> -			return (value & (1 << offset));
> +			return !!(value & (1 << offset));
>  	}
>  
>  	/* REVISIT we *could* report LED1/nPG and LED2 state ... */

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
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:[~2016-01-11  7:43 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:48 [PATCH 49/54] mfd: tps65010: Be sure to clamp return value Linus Walleij
2016-01-11  7:43 ` Lee Jones

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