Parcourir la source

MIPS: BCM47xx: Fix gpio_direction_output

gpio_direction_output should also set an output value according to the API.

Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr> 
Acked-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Matthieu Castet il y a 16 ans
Parent
commit
f203b7cacb
1 fichiers modifiés avec 3 ajouts et 0 suppressions
  1. 3 0
      arch/mips/include/asm/mach-bcm47xx/gpio.h

+ 3 - 0
arch/mips/include/asm/mach-bcm47xx/gpio.h

@@ -37,6 +37,9 @@ static inline int gpio_direction_input(unsigned gpio)
 
 
 static inline int gpio_direction_output(unsigned gpio, int value)
 static inline int gpio_direction_output(unsigned gpio, int value)
 {
 {
+	/* first set the gpio out value */
+	ssb_gpio_out(&ssb_bcm47xx, 1 << gpio, value ? 1 << gpio : 0);
+	/* then set the gpio mode */
 	ssb_gpio_outen(&ssb_bcm47xx, 1 << gpio, 1 << gpio);
 	ssb_gpio_outen(&ssb_bcm47xx, 1 << gpio, 1 << gpio);
 	return 0;
 	return 0;
 }
 }