summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorChris Packham <chris.packham@alliedtelesis.co.nz>2012-09-06 17:28:35 +0000
committerAndy Fleming <afleming@freescale.com>2012-10-22 03:03:16 -0500
commit168e5bc4095177764edaff306c9d4674a6f7f5e6 (patch)
tree0bf63b83fac63fbb3eaa063e9e0ea4f5b0150eeb /arch
parent505f3e6f2e0e90b78dec065e64ad57c5d8741b04 (diff)
downloadu-boot-imx-168e5bc4095177764edaff306c9d4674a6f7f5e6.zip
u-boot-imx-168e5bc4095177764edaff306c9d4674a6f7f5e6.tar.gz
u-boot-imx-168e5bc4095177764edaff306c9d4674a6f7f5e6.tar.bz2
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 <chris.packham@alliedtelesis.co.nz> Cc: Kyle Moffett <Kyle.D.Moffett@boeing.com> Cc: Andy Fleming <afleming@gmail.com> Cc: Peter Tyser <ptyser@xes-inc.com> Cc: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Andy Fleming <afleming@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/include/asm/mpc85xx_gpio.h5
1 files changed, 4 insertions, 1 deletions
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;
}