If there's a direction register, we should also have dat or set registers.
However, we only need one of them, not both.

Fixes: ebe363197e52 ("gpio: add a reusable generic gpio_chip using regmap")
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
---
 drivers/gpio/gpio-regmap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpio/gpio-regmap.c b/drivers/gpio/gpio-regmap.c
index 23b0a8572f53..5a9fca00b5e8 100644
--- a/drivers/gpio/gpio-regmap.c
+++ b/drivers/gpio/gpio-regmap.c
@@ -194,7 +194,7 @@ struct gpio_regmap *gpio_regmap_register(const struct 
gpio_regmap_config *config
 
        /* if we have a direction register we need both input and output */
        if ((config->reg_dir_out_base || config->reg_dir_in_base) &&
-           (!config->reg_dat_base || !config->reg_set_base))
+           (!config->reg_dat_base && !config->reg_set_base))
                return ERR_PTR(-EINVAL);
 
        /* we don't support having both registers simultaneously for now */
-- 
2.20.1

Reply via email to