Re: [PATCH] gpio: regmap: fix direction register check

From: Michael Walle
Date: Tue Mar 02 2021 - 16:30:10 EST


Am 2021-03-02 19:06, schrieb Álvaro Fernández Rojas:
If there's a direction register, we should also have dat or set registers.
However, we only need one of them, not both.

Can you give some more context or an example? If there is a direction
register, we'd need to set and get the value, no?

-michael

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 */