瀏覽代碼

[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>
Darius Augulis 16 年之前
父節點
當前提交
5cac9d6558
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      arch/arm/plat-mxc/gpio.c

+ 1 - 1
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)