Message ID | 20210302180621.12301-1-noltari@gmail.com |
---|---|
State | Not Applicable |
Headers | show |
Series | gpio: regmap: fix direction register check | expand |
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@gmail.com> > --- > 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 */
Hi Michael, El 02/03/2021 a las 19:16, Michael Walle escribió: > 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? I've just realized that I need to set reg_set_base to the same value as reg_dat_base in my case. Please, ignore this patch and excuse me :$. > > -michael > >> Fixes: ebe363197e52 ("gpio: add a reusable generic gpio_chip using >> regmap") >> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> >> --- >> 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 */
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 */
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@gmail.com> --- drivers/gpio/gpio-regmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)