summaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorVenkat Reddy Talla <vreddytalla@nvidia.com>2016-06-27 16:26:24 +0530
committerLinus Walleij <linus.walleij@linaro.org>2016-07-04 11:39:38 +0200
commit1941b4419a24e026ce8354a2fd40c9387577697e (patch)
treeb7d12a264b45529a1530decd57a9b19734c27d41 /drivers/gpio
parent7eebe96f22e7968656a64458620f5cdabee8903c (diff)
downloadlinux-1941b4419a24e026ce8354a2fd40c9387577697e.tar.bz2
gpio: max77620: get gpio value based on direction
Gpio direction is determined by DIRx bit of GPIO configuration register, return max77620 gpio value based on direction in or out. Signed-off-by: Venkat Reddy Talla <vreddytalla@nvidia.com> Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpio-max77620.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-max77620.c b/drivers/gpio/gpio-max77620.c
index 8658c32c4690..b46b436cb97f 100644
--- a/drivers/gpio/gpio-max77620.c
+++ b/drivers/gpio/gpio-max77620.c
@@ -123,7 +123,10 @@ static int max77620_gpio_get(struct gpio_chip *gc, unsigned int offset)
return ret;
}
- return !!(val & MAX77620_CNFG_GPIO_INPUT_VAL_MASK);
+ if (val & MAX77620_CNFG_GPIO_DIR_MASK)
+ return !!(val & MAX77620_CNFG_GPIO_INPUT_VAL_MASK);
+ else
+ return !!(val & MAX77620_CNFG_GPIO_OUTPUT_VAL_MASK);
}
static int max77620_gpio_dir_output(struct gpio_chip *gc, unsigned int offset,