Message ID | 20250107201621.12467-1-sander@svanheule.net |
---|---|
State | New |
Headers | show |
Series | gpio: regmap: Use generic request/free ops | expand |
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@svanheule.net> 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@kernel.org> -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@gmail.com/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;
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> On Tue, 07 Jan 2025 21:16:20 +0100, 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. > > > [...] Applied, thanks! [1/1] gpio: regmap: Use generic request/free ops commit: 5ab3b97ef9d4bff2513994ef9efc6d95722cb902 Best regards,
On Tue, Jan 7, 2025 at 9:17 PM Sander Vanheule <sander@svanheule.net> 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@svanheule.net> > --- > Álvaro has submitted a similar patch today. My implementation's impact > is more limited, but I hadn't gotten around to submitting it yet. This is fine, I'll check Álvaros two patches, if his patch is equivalent I can apply just the pinctrl patch. Yours, Linus Walleij
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;
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@svanheule.net> --- Á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@gmail.com/T/#t drivers/gpio/gpio-regmap.c | 2 ++ 1 file changed, 2 insertions(+)