aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorAndrew Victor <andrew@sanpeople.com>2007-02-22 09:38:52 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-02-22 14:53:32 +0000
commit0ebffe39f8ec8b5b126d9505852a396371014555 (patch)
tree391f32e9f7d995cca5b4d54b559291676ac618e9 /arch/arm
parent[ARM] 4231/1: AT91: Merge and typo fixes. (diff)
downloadlinux-dev-0ebffe39f8ec8b5b126d9505852a396371014555.tar.xz
linux-dev-0ebffe39f8ec8b5b126d9505852a396371014555.zip
[ARM] 4232/1: AT91: Generic GPIO bug
The new gpio_direction_input() and gpio_direction_output() functions were both enabling output mode. When configuring a GPIO for input mode, you need to program the ODR (Output Disable Register). Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-at91/gpio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c
index 7b87f3f101b7..44211a0af19a 100644
--- a/arch/arm/mach-at91/gpio.c
+++ b/arch/arm/mach-at91/gpio.c
@@ -210,7 +210,7 @@ int gpio_direction_input(unsigned pin)
if (!pio || !(__raw_readl(pio + PIO_PSR) & mask))
return -EINVAL;
- __raw_writel(mask, pio + PIO_OER);
+ __raw_writel(mask, pio + PIO_ODR);
return 0;
}
EXPORT_SYMBOL(gpio_direction_input);