[U-Boot] [PATCH] mpc85xx: make gpio_direction_output respect value

Chris Packham judge.packham at gmail.com
Fri Sep 7 05:28:35 CEST 2012


From: Chris Packham <chris.packham at alliedtelesis.co.nz>

Users of familiar with the Linux gpiolib API expect that value parameter
to gpio_direction_output reflects the initial state of the output pin.
gpio_direction_output was always driving the output low, now it drives
it high or low according to the value provided.

Signed-off-by: Chris Packham <chris.packham at alliedtelesis.co.nz>
Cc: Kyle Moffett <Kyle.D.Moffett at boeing.com>
Cc: Andy Fleming <afleming at gmail.com>
Cc: Peter Tyser <ptyser at xes-inc.com>
Cc: Kumar Gala <galak at kernel.crashing.org>
---
 arch/powerpc/include/asm/mpc85xx_gpio.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/include/asm/mpc85xx_gpio.h b/arch/powerpc/include/asm/mpc85xx_gpio.h
index 5a608a5..2aed514 100644
--- a/arch/powerpc/include/asm/mpc85xx_gpio.h
+++ b/arch/powerpc/include/asm/mpc85xx_gpio.h
@@ -98,7 +98,10 @@ static inline int gpio_direction_input(unsigned gpio)
 
 static inline int gpio_direction_output(unsigned gpio, int value)
 {
-	mpc85xx_gpio_set_low(1U << gpio);
+	if (value)
+		mpc85xx_gpio_set_high(1U << gpio);
+	else
+		mpc85xx_gpio_set_low(1U << gpio);
 	return 0;
 }
 
-- 
1.7.12.rc2.16.g034161a



More information about the U-Boot mailing list