[PATCH] gpio: regmap: fix direction register check

From: Álvaro Fernández Rojas
Date: Tue Mar 02 2021 - 16:09:38 EST


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 <noltari@xxxxxxxxx>
---
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