Message ID | 1348130883-11329-1-git-send-email-stigge@antcom.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Sep 20, 2012 at 5:48 AM, Roland Stigge <stigge@antcom.de> wrote: > For GPIOs of gpio-lpc32xx, gpio_direction_output() ignores the value argument > (initial value of output). This patch fixes this by setting the level > accordingly. > > Signed-off-by: Roland Stigge <stigge@antcom.de> Acked-by: Alexandre Pereira da Silva <aletes.xgr@gmail.com> Nice catch.
On Thu, Sep 20, 2012 at 10:48 AM, Roland Stigge <stigge@antcom.de> wrote: > For GPIOs of gpio-lpc32xx, gpio_direction_output() ignores the value argument > (initial value of output). This patch fixes this by setting the level > accordingly. > > Signed-off-by: Roland Stigge <stigge@antcom.de> Applied with Alexandre's ACK, should go into stable right? So tagging this with Cc: stable and sending for the -rc:s. Thanks, Linus Walleij
On 24/09/12 21:55, Linus Walleij wrote: >> For GPIOs of gpio-lpc32xx, gpio_direction_output() ignores the value argument >> (initial value of output). This patch fixes this by setting the level >> accordingly. >> >> Signed-off-by: Roland Stigge<stigge@antcom.de> > > Applied with Alexandre's ACK, should go into stable right? > So tagging this with Cc: stable and sending for the -rc:s. Right, thanks! Roland
--- linux-2.6.orig/drivers/gpio/gpio-lpc32xx.c +++ linux-2.6/drivers/gpio/gpio-lpc32xx.c @@ -308,6 +308,7 @@ static int lpc32xx_gpio_dir_output_p012( { struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip); + __set_gpio_level_p012(group, pin, value); __set_gpio_dir_p012(group, pin, 0); return 0; @@ -318,6 +319,7 @@ static int lpc32xx_gpio_dir_output_p3(st { struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip); + __set_gpio_level_p3(group, pin, value); __set_gpio_dir_p3(group, pin, 0); return 0; @@ -326,6 +328,9 @@ static int lpc32xx_gpio_dir_output_p3(st static int lpc32xx_gpio_dir_out_always(struct gpio_chip *chip, unsigned pin, int value) { + struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip); + + __set_gpo_level_p3(group, pin, value); return 0; }
For GPIOs of gpio-lpc32xx, gpio_direction_output() ignores the value argument (initial value of output). This patch fixes this by setting the level accordingly. Signed-off-by: Roland Stigge <stigge@antcom.de> --- Applies to v3.6-rc6 drivers/gpio/gpio-lpc32xx.c | 5 +++++ 1 file changed, 5 insertions(+)