2014-01-09 09:32:16

by Neil Zhang

[permalink] [raw]
Subject: RE: [PATCH] gpio: pxa: fix bug when get gpio value


> -----Original Message-----
> From: Neil Zhang [mailto:[email protected]]
> Sent: 2014??1??9?? 17:26
> To: [email protected]; [email protected]; [email protected];
> [email protected]
> Cc: Neil Zhang
> Subject: [PATCH] gpio: pxa: fix bug when get gpio value
>
> gpio_get_value should return 0 or 1.
>
> I have checked mach-mmp / mach-pxa / plat-pxa / plat-orion / mach-orion5x.
> It's OK for all of them to change this function to return 0 and 1.
>
> Signed-off-by: Neil Zhang <[email protected]>
> ---
> drivers/gpio/gpio-pxa.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c index
> cc13d1b..42e6e64 100644
> --- a/drivers/gpio/gpio-pxa.c
> +++ b/drivers/gpio/gpio-pxa.c
> @@ -263,7 +263,8 @@ static int pxa_gpio_direction_output(struct gpio_chip
> *chip,
>
> static int pxa_gpio_get(struct gpio_chip *chip, unsigned offset) {
> - return readl_relaxed(gpio_chip_base(chip) + GPLR_OFFSET) & (1 <<
> offset);
> + u32 gplr = readl_relaxed(gpio_chip_base(chip) + GPLR_OFFSET);
> + return !!(gplr & (1 << offset));
> }
>
> static void pxa_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
> --
> 1.7.9.5

Add right LKML.

Best Regards,
Neil Zhang
????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?