Hi Saravana,
On Fri, Feb 5, 2021 at 3:09 AM Saravana Kannan <[email protected]> wrote:
> Dmitry reported[1] boot error messages caused by
> commit 4731210c09f5 ("gpiolib: Bind gpio_device to a driver to enable
> fw_devlink=on by default").
>
> gpio-1022 (cpu-pwr-req-hog): hogged as input
> max77620-pinctrl max77620-pinctrl: pin gpio4 already requested by
> max77620-pinctrl; cannot claim for gpiochip1
> max77620-pinctrl max77620-pinctrl: pin-4 (gpiochip1) status -22
> max77620-pinctrl max77620-pinctrl: could not request pin 4 (gpio4) from group
> gpio4 on device max77620-pinctrl
> gpio_stub_drv gpiochip1: Error applying setting, reverse things back
> gpio_stub_drv: probe of gpiochip1 failed with error -22
Similar issue on Salvator-XS:
sh-pfc e6060000.pinctrl: pin GP_2_0 already requested by 7-0030;
cannot claim for gpiochip9
sh-pfc e6060000.pinctrl: pin-64 (gpiochip9) status -22
sh-pfc e6060000.pinctrl: could not request pin 64 (GP_2_0) from
group intc_ex_irq0 on device sh-pfc
gpio_stub_drv gpiochip9: Error applying setting, reverse things back
gpio_stub_drv: probe of gpiochip9 failed with error -22
> This happens because when we try to probe a device, driver core calls
> into pinctrl to set up the pins. However, if the GPIO DT node already
> has a proper device created and probed, trying to probe the gpio_device
> with a stub driver makes the pins be claimed twice. pinctrl doesn't like
> this and throws an error.
>
> So, this patch makes sure the gpio_stub_drv doesn't match with a
> gpio_device if it's not the primary device for the fwnode.
>
> [1] -
> https://lore.kernel.org/lkml/[email protected]/
> Fixes: 4731210c09f5 ("gpiolib: Bind gpio_device to a driver to enable
> fw_devlink=on by default")
> Signed-off-by: Saravana Kannan <[email protected]>
> Tested-by: Dmitry Osipenko <[email protected]>
Tested-by: Geert Uytterhoeven <[email protected]>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds