diff options
Diffstat (limited to 'drivers/gpio/gpio-tegra.c')
-rw-r--r-- | drivers/gpio/gpio-tegra.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c index e42ebe0be017..40a813c29968 100644 --- a/drivers/gpio/gpio-tegra.c +++ b/drivers/gpio/gpio-tegra.c @@ -138,6 +138,8 @@ 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 (( __raw_readl(GPIO_OE(offset)) >> GPIO_BIT(offset)) & 0x1) + return (__raw_readl(GPIO_OUT(offset)) >> GPIO_BIT(offset)) & 0x1; return (__raw_readl(GPIO_IN(offset)) >> GPIO_BIT(offset)) & 0x1; } |