Messages in this thread | | | From | Neil Zhang <> | Date | Thu, 9 Jan 2014 01:32:07 -0800 | Subject | RE: [PATCH] gpio: pxa: fix bug when get gpio value |
| |
> -----Original Message----- > From: Neil Zhang [mailto:zhangwm@marvell.com] > Sent: 2014年1月9日 17:26 > To: linus.walleij@linaro.org; gnurou@gmail.com; linux-gpio@vger.kernel.org; > linux-kernel@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 <zhangwm@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
| |