Re: [PATCH 1/2] gpio: regmap: add request/free gpio_chip functions
From: Jonas Gorski
Date: Tue Jan 07 2025 - 05:43:41 EST
Hi,
On Tue, Jan 7, 2025 at 11:27 AM Álvaro Fernández Rojas
<noltari@xxxxxxxxx> wrote:
>
> Allow configuring gpio_chip request/free functions when creating a gpio-regmap.
>
> Signed-off-by: Álvaro Fernández Rojas <noltari@xxxxxxxxx>
> ---
> drivers/gpio/gpio-regmap.c | 2 ++
> include/linux/gpio/regmap.h | 4 ++++
> 2 files changed, 6 insertions(+)
>
> diff --git a/drivers/gpio/gpio-regmap.c b/drivers/gpio/gpio-regmap.c
> index 71684dee2ca5..32ec85b41653 100644
> --- a/drivers/gpio/gpio-regmap.c
> +++ b/drivers/gpio/gpio-regmap.c
> @@ -261,6 +261,8 @@ struct gpio_regmap *gpio_regmap_register(const struct gpio_regmap_config *config
> chip->names = config->names;
> chip->label = config->label ?: dev_name(config->parent);
> chip->can_sleep = regmap_might_sleep(config->regmap);
> + chip->request = config->request;
> + chip->free = config->free;
I wonder if you couldn't just use gpiochip_generic_request() /
gpiochip_generic_free() unconditionally here. AFAIU, these don't do
anything when there are no GPIO ranges defined (so should not
interfere with non-pinctrl linked devices), as well as nothing when
CONFIG_PINCTRL isn't enabled, so they should be NOPs if there is no
pinctrl link, and do the right thing if there is one.
Best Regards,
Jonas