path: root/arch
diff options
authorDarius Augulis <augulis.darius@gmail.com>2008-10-15 10:38:30 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2008-10-30 15:56:35 +0100
commit5cac9d6558009d0fcdb7a0f38247ca578c8c685b (patch)
tree131c1105265bd3b8587c9578823b3e1347a55258 /arch
parenteadefeff9c5572d82c2f5d907a0bfb3ba55ce901 (diff)
[ARM] MXC: Fix mxc_gpio_get(), which must read PSR register instead DR.
The Data register holds the value we have written to a gpio. To get the input value we must read the Pad Status Register MX3 (or Sample Status register in MX1/2 terms) Signed-off-by: Darius Augulis <augulis.darius@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/plat-mxc/gpio.c b/arch/arm/plat-mxc/gpio.c
index 733e0acac916..de5c4747453f 100644
--- a/arch/arm/plat-mxc/gpio.c
+++ b/arch/arm/plat-mxc/gpio.c
@@ -188,7 +188,7 @@ static int mxc_gpio_get(struct gpio_chip *chip, unsigned offset)
struct mxc_gpio_port *port =
container_of(chip, struct mxc_gpio_port, chip);
- return (__raw_readl(port->base + GPIO_DR) >> offset) & 1;
+ return (__raw_readl(port->base + GPIO_PSR) >> offset) & 1;
static int mxc_gpio_direction_input(struct gpio_chip *chip, unsigned offset)