pinctrl: cy8c95x0: Fix get_pincfg
authorPatrick Rudolph <patrick.rudolph@9elements.com>
Tue, 19 Dec 2023 12:51:18 +0000 (13:51 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 20 Jan 2024 10:51:46 +0000 (11:51 +0100)
[ Upstream commit 94c71705cc49092cef60ece13a28680809096fd4 ]

Invert the register value for PIN_CONFIG_OUTPUT_ENABLE to return
the opposite of PIN_CONFIG_INPUT_ENABLE.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Link: https://lore.kernel.org/r/20231219125120.4028862-3-patrick.rudolph@9elements.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pinctrl/pinctrl-cy8c95x0.c

index 280d7eb..f2b9db6 100644 (file)
@@ -714,6 +714,8 @@ static int cy8c95x0_gpio_get_pincfg(struct cy8c95x0_pinctrl *chip,
        ret = regmap_read(chip->regmap, reg, &reg_val);
        if (reg_val & bit)
                arg = 1;
+       if (param == PIN_CONFIG_OUTPUT_ENABLE)
+               arg = !arg;
 
        *config = pinconf_to_config_packed(param, (u16)arg);
 out: