|
@@ -134,6 +134,11 @@ static void tegra_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
|
|
|
|
|
|
static int tegra_gpio_get(struct gpio_chip *chip, unsigned offset)
|
|
|
{
|
|
|
+ /* If gpio is in output mode then read from the out value */
|
|
|
+ if ((tegra_gpio_readl(GPIO_OE(offset)) >> GPIO_BIT(offset)) & 1)
|
|
|
+ return (tegra_gpio_readl(GPIO_OUT(offset)) >>
|
|
|
+ GPIO_BIT(offset)) & 0x1;
|
|
|
+
|
|
|
return (tegra_gpio_readl(GPIO_IN(offset)) >> GPIO_BIT(offset)) & 0x1;
|
|
|
}
|
|
|
|