[ARM] 4232/1: AT91: Generic GPIO bug
authorAndrew Victor <andrew@sanpeople.com>
Thu, 22 Feb 2007 08:38:52 +0000 (09:38 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 22 Feb 2007 14:53:32 +0000 (14:53 +0000)
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>
arch/arm/mach-at91/gpio.c

index 7b87f3f101b7d324cdda7409ff4945e634ec4638..44211a0af19a805fd81a0d1a5783f07ed4db958f 100644 (file)
@@ -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);