Re: [PATCH] gpio: regmap: Use generic request/free ops

From: Michael Walle
Date: Wed Jan 08 2025 - 03:28:16 EST


Hi,

On Tue Jan 7, 2025 at 9:16 PM CET, Sander Vanheule wrote:
> Set the gpiochip request and free ops to the generic implementations.
> This way a user can provide a gpio-ranges property defined for a pinmux,
> easing muxing of gpio functions. Provided that the pin controller
> implementents the pinmux op .gpio_request_enable(), pins will
> automatically be muxed to their GPIO function when requested.
>
> Signed-off-by: Sander Vanheule <sander@xxxxxxxxxxxxx>

Sounds fine, although I don't have time to test it right now. I'd
appreciate if Linus could give a short comment, too.

Acked-by: Michael Walle <mwalle@xxxxxxxxxx>

-michael

> ---
> Álvaro has submitted a similar patch today. My implementation's impact
> is more limited, but I hadn't gotten around to submitting it yet.
>
> For the original (short) discussion, see:
> https://lore.kernel.org/linux-gpio/20250107102735.317446-1-noltari@xxxxxxxxx/T/#t
>
> drivers/gpio/gpio-regmap.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpio/gpio-regmap.c b/drivers/gpio/gpio-regmap.c
> index f716eb069b25..82da0f1d78c3 100644
> --- a/drivers/gpio/gpio-regmap.c
> +++ b/drivers/gpio/gpio-regmap.c
> @@ -270,6 +270,8 @@ struct gpio_regmap *gpio_regmap_register(const struct gpio_regmap_config *config
> chip->label = config->label ?: dev_name(config->parent);
> chip->can_sleep = regmap_might_sleep(config->regmap);
>
> + chip->request = gpiochip_generic_request;
> + chip->free = gpiochip_generic_free;
> chip->get = gpio_regmap_get;
> if (gpio->reg_set_base && gpio->reg_clr_base)
> chip->set = gpio_regmap_set_with_clear;

Attachment: signature.asc
Description: PGP signature