Message ID | 20240926100653.15015-2-wsa+renesas@sang-engineering.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | pinctrl: renesas: rza1: mark GPIOs as used | expand |
Hi Wolfram, On Thu, Sep 26, 2024 at 12:07 PM Wolfram Sang <wsa+renesas@sang-engineering.com> wrote: > GPIOs showed up as unclaimed, so they could be muxed to something else > even though they were in use. Mark GPIOs as claimed to avoid that. > > Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Thanks for your patch, which reminds me to fix the same issue on RZ/A2 ;-) > --- a/drivers/pinctrl/renesas/pinctrl-rza1.c > +++ b/drivers/pinctrl/renesas/pinctrl-rza1.c > @@ -19,6 +19,7 @@ > #include <linux/ioport.h> > #include <linux/module.h> > #include <linux/of.h> > +#include <linux/pinctrl/consumer.h> > #include <linux/pinctrl/pinconf-generic.h> > #include <linux/pinctrl/pinctrl.h> > #include <linux/pinctrl/pinmux.h> > @@ -750,6 +751,11 @@ static int rza1_pin_mux_single(struct rza1_pinctrl *rza1_pctl, > static int rza1_gpio_request(struct gpio_chip *chip, unsigned int gpio) > { > struct rza1_port *port = gpiochip_get_data(chip); > + int ret; > + > + ret = pinctrl_gpio_request(chip, gpio); > + if (ret) > + return ret; > > rza1_pin_reset(port, gpio); rza1_gpio_free() needs a balancing call to pinctrl_gpio_free(). Gr{oetje,eeting}s, Geert
diff --git a/drivers/pinctrl/renesas/pinctrl-rza1.c b/drivers/pinctrl/renesas/pinctrl-rza1.c index 6527872813dc..797367ce5641 100644 --- a/drivers/pinctrl/renesas/pinctrl-rza1.c +++ b/drivers/pinctrl/renesas/pinctrl-rza1.c @@ -19,6 +19,7 @@ #include <linux/ioport.h> #include <linux/module.h> #include <linux/of.h> +#include <linux/pinctrl/consumer.h> #include <linux/pinctrl/pinconf-generic.h> #include <linux/pinctrl/pinctrl.h> #include <linux/pinctrl/pinmux.h> @@ -750,6 +751,11 @@ static int rza1_pin_mux_single(struct rza1_pinctrl *rza1_pctl, static int rza1_gpio_request(struct gpio_chip *chip, unsigned int gpio) { struct rza1_port *port = gpiochip_get_data(chip); + int ret; + + ret = pinctrl_gpio_request(chip, gpio); + if (ret) + return ret; rza1_pin_reset(port, gpio);
GPIOs showed up as unclaimed, so they could be muxed to something else even though they were in use. Mark GPIOs as claimed to avoid that. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> --- drivers/pinctrl/renesas/pinctrl-rza1.c | 6 ++++++ 1 file changed, 6 insertions(+)