diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-09-27 18:45:20 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-09-27 18:45:20 -0400 |
commit | 39618435a0d9f4269b2374da68eb652cfa777b0c (patch) | |
tree | b88309e8a0ea7976c4fa66c87a078c6a9aa0f721 /drivers | |
parent | d1d4bb9cf2cfce0eb681d5761d8e620c2d27f051 (diff) | |
parent | b1268d3737c6316016026245eef276eda6b0a621 (diff) |
Merge tag 'gpio-fixes-v3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio
Pull GPIO fix from Linus Walleij:
"A late GPIO fix: Roland Stigge found a problem in the LPC32xx driver
where a callback ignores one of its arguments. It needs to go into
stable too so sending this upstream immediately."
* tag 'gpio-fixes-v3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
gpio-lpc32xx: Fix value handling of gpio_direction_output()
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpio/gpio-lpc32xx.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-lpc32xx.c b/drivers/gpio/gpio-lpc32xx.c index 8a420f13905e..ed94b4ea72e9 100644 --- a/drivers/gpio/gpio-lpc32xx.c +++ b/drivers/gpio/gpio-lpc32xx.c | |||
@@ -308,6 +308,7 @@ static int lpc32xx_gpio_dir_output_p012(struct gpio_chip *chip, unsigned pin, | |||
308 | { | 308 | { |
309 | struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip); | 309 | struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip); |
310 | 310 | ||
311 | __set_gpio_level_p012(group, pin, value); | ||
311 | __set_gpio_dir_p012(group, pin, 0); | 312 | __set_gpio_dir_p012(group, pin, 0); |
312 | 313 | ||
313 | return 0; | 314 | return 0; |
@@ -318,6 +319,7 @@ static int lpc32xx_gpio_dir_output_p3(struct gpio_chip *chip, unsigned pin, | |||
318 | { | 319 | { |
319 | struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip); | 320 | struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip); |
320 | 321 | ||
322 | __set_gpio_level_p3(group, pin, value); | ||
321 | __set_gpio_dir_p3(group, pin, 0); | 323 | __set_gpio_dir_p3(group, pin, 0); |
322 | 324 | ||
323 | return 0; | 325 | return 0; |
@@ -326,6 +328,9 @@ static int lpc32xx_gpio_dir_output_p3(struct gpio_chip *chip, unsigned pin, | |||
326 | static int lpc32xx_gpio_dir_out_always(struct gpio_chip *chip, unsigned pin, | 328 | static int lpc32xx_gpio_dir_out_always(struct gpio_chip *chip, unsigned pin, |
327 | int value) | 329 | int value) |
328 | { | 330 | { |
331 | struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip); | ||
332 | |||
333 | __set_gpo_level_p3(group, pin, value); | ||
329 | return 0; | 334 | return 0; |
330 | } | 335 | } |
331 | 336 | ||