Re: [PATCH v4 04/10] gpio: regmap: Allow to provide request and free callbacks

From: Sander Vanheule
Date: Sun Feb 16 2025 - 08:17:26 EST


Hi Mathieu,

On Fri, 2025-02-14 at 12:49 +0100, Mathieu Dubois-Briand wrote:
> Allows to populate the gpio_regmap_config structure with request() and
> free() callbacks to set on the final gpio_chip structure.
>
> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@xxxxxxxxxxx>
> ---
>  drivers/gpio/gpio-regmap.c  | 2 ++
>  include/linux/gpio/regmap.h | 7 +++++++
>  2 files changed, 9 insertions(+)
>
> diff --git a/drivers/gpio/gpio-regmap.c b/drivers/gpio/gpio-regmap.c
> index 05f8781b5204..ba72c23bcf97 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;
>  
>   chip->request = gpiochip_generic_request;
>   chip->free = gpiochip_generic_free;

You probably have a bad rebase here, as the chip->{request,free} functions are immediately
overwritten by gpiochip_generic_{request,free}. Perhaps those can actually be used if you
provide a pinctrl driver for the MFD.


Best,
Sander