diff options
author | 2016-06-27 16:26:24 +0530 | |
---|---|---|
committer | 2016-07-04 11:39:38 +0200 | |
commit | 1941b4419a24e026ce8354a2fd40c9387577697e (patch) | |
tree | b7d12a264b45529a1530decd57a9b19734c27d41 /drivers/gpio/gpio-max77620.c | |
parent | gpio: lynxpoint: avoid potential warning on error path (diff) | |
download | linux-1941b4419a24e026ce8354a2fd40c9387577697e.tar.gz linux-1941b4419a24e026ce8354a2fd40c9387577697e.tar.bz2 linux-1941b4419a24e026ce8354a2fd40c9387577697e.zip |
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/gpio-max77620.c')
-rw-r--r-- | drivers/gpio/gpio-max77620.c | 5 |
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, |