summaryrefslogtreecommitdiffstats
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
parent7f6e2d992d4cb2f537ece62d221e466df1fead1c (diff)
downloadkernel-crypto-0ebffe39f8ec8b5b126d9505852a396371014555.tar.gz
kernel-crypto-0ebffe39f8ec8b5b126d9505852a396371014555.tar.xz
kernel-crypto-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>
-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 7b87f3f101b..44211a0af19 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);