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