From: Chris Packham Date: Thu, 6 Sep 2012 17:28:35 +0000 (+0000) Subject: mpc85xx: make gpio_direction_output respect value X-Git-Tag: v2013.01-rc1~90^2~48 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=168e5bc4095177764edaff306c9d4674a6f7f5e6;p=oweals%2Fu-boot.git mpc85xx: make gpio_direction_output respect value 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 Cc: Kyle Moffett Cc: Andy Fleming Cc: Peter Tyser Cc: Kumar Gala Signed-off-by: Andy Fleming --- diff --git a/arch/powerpc/include/asm/mpc85xx_gpio.h b/arch/powerpc/include/asm/mpc85xx_gpio.h index 5a608a5d0f..2aed5148ef 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; }