> -----Original Message-----
> From: Neil Zhang [mailto:zhan...@marvell.com]
> Sent: 2014年1月9日 17:26
> To: linus.wall...@linaro.org; gnu...@gmail.com; linux-g...@vger.kernel.org;
> linux-ker...@vger.kernel.or
> 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 <zhan...@marvell.com>
> ---
>  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

Reply via email to