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 <[email protected]>
---
 drivers/gpio/gpio-max77620.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpio/gpio-max77620.c b/drivers/gpio/gpio-max77620.c
index 8658c32..b46b436 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,
-- 
2.1.4

Reply via email to