aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-mxc/gpio.c
diff options
context:
space:
mode:
authorDarius Augulis <augulis.darius@gmail.com>2008-10-15 04:38:30 -0400
committerSascha Hauer <s.hauer@pengutronix.de>2008-10-30 10:56:35 -0400
commit5cac9d6558009d0fcdb7a0f38247ca578c8c685b (patch)
tree131c1105265bd3b8587c9578823b3e1347a55258 /arch/arm/plat-mxc/gpio.c
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/arm/plat-mxc/gpio.c')
-rw-r--r--arch/arm/plat-mxc/gpio.c2
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)
188 struct mxc_gpio_port *port = 188 struct mxc_gpio_port *port =
189 container_of(chip, struct mxc_gpio_port, chip); 189 container_of(chip, struct mxc_gpio_port, chip);
190 190
191 return (__raw_readl(port->base + GPIO_DR) >> offset) & 1; 191 return (__raw_readl(port->base + GPIO_PSR) >> offset) & 1;
192} 192}
193 193
194static int mxc_gpio_direction_input(struct gpio_chip *chip, unsigned offset) 194static int mxc_gpio_direction_input(struct gpio_chip *chip, unsigned offset)