[PATCH] dm: pinctrl: Revert "pinctrl: probe pinctrl drivers during post-bind"

Pali Rohár pali at kernel.org
Fri Dec 30 16:53:49 CET 2022


On Friday 30 December 2022 09:30:27 Simon Glass wrote:
> Hi Pali,
> 
> On Wed, 21 Dec 2022 at 17:02, Pali Rohár <pali at kernel.org> wrote:
> >
> > On Wednesday 21 December 2022 07:27:39 Simon Glass wrote:
> > > This breaks chromebook_coral and it is also not how things should work. If
> > > a board needs to bind GPIOs as part of a pinctrl driver this can be done
> > > during the bind step, if needed.
> > >
> > > We cannot probe pinctrl devices when binding as a rule, since it cannot be
> > > supported on some platforms.
> > >
> > > The bind and probe steps are separate in U-Boot and they should remain
> > > separate.
> > >
> > > This reverts commit f9ec791b5e24378b71590877499f8683d5f54dac.
> >
> > Unfortunately reverting this patch would break other devices, mostly
> > A3720 based where pinctrl driver acts also as gpio driver. Because no
> > other caller then register gpio driver and so other drivers which parses
> > gpios from DT (which belongs to that gpio driver) will fail during
> > probe.
> 
> That is something to be sorted out for that platform. You can bind
> GPIO devices in the pinctrl driver's bind() method as other SoCs do.
> Even better, the device tree typically has that info in it, i.e. GPIO
> subnodes within the pinctrl node.
> 
> Probing pinctrl in a bind function is unfortunately just wrong. It
> will cause all sorts of problems, and perhaps already has.

Ok, so it means that drivers/pinctrl/mvebu/pinctrl-armada-37xx.c needs
to be refactored and fixed to handle these restrictions.

> > Also I think that pinctrl command would not work in this case if pinctrl
> > would not be probed.
> 
> Devices are probed before use, including by commands.
> 
> This is quite important to fix before the release.

Unfortunately in this time I do not have any a3720 board for testing.
Robert was able to easily trigger this issue and also introduced that
commit f9ec791b5e24 ("pinctrl: probe pinctrl drivers during post-bind").

So may I ask Robert to look at it? In past days I looked at powerpc
release issues and I do not have time for other things.


More information about the U-Boot mailing list