Thread (5 messages) 5 messages, 4 authors, 2020-02-20

Re: [REGRESSION] gpio hogging fails with pinctrl gpio drivers

From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
Date: 2020-02-20 18:19:20
Also in: linux-gpio

On Thu, Feb 20, 2020 at 09:28:14AM -0800, Andrey Smirnov wrote:
On Thu, Feb 20, 2020 at 12:18 AM Linus Walleij [off-list ref] wrote:
quoted
On Thu, Feb 6, 2020 at 6:33 PM Russell King - ARM Linux admin
[off-list ref] wrote:
quoted
It seems that sometime between 4.20 and 5.5, something has broken the
ability to specify gpio-hogs in DT for GPIOs that are written around
pinctrl drivers.
(explanation that makes perfect sense)
quoted
Consequently, adding a gpio-hog to DT for this driver results in the
driver endlessly returning -EPROBE_DEFER.
I suspect this is sx150x-specific and suspect these two commits:

1a1d39e1b8dd pinctrl: sx150x: Register pinctrl before adding the gpiochip
b930151e5b55 pinctrl: sx150x: Add a static gpio/pinctrl pin range mapping

I suppose people weren't using hogs very much with the sx150x and
it didn't turn up in testing so far.

I don't think for example pinctrl-stmfx.c has this problem, as it registers
the pin ranges from the device tree as part of the core code.
But other drivers calling gpiochip_add_pin_range() may be experiencing
this.

Peter/Andrey, do you have some idea? Have you tested this usecase (hogs)
with the sx150x?
Haven't done any GPIO hogging on sx150x, unfortunately. My use-cases were:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts

and

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/vf610-zii-scu4-aib.dts

which didn't have any hogs so far (there's a chance Russell is using
the former for his experiments, so maybe that'll change). I don't any
useful input on this regression, sorry. I do have Rev C. board readily
available, so I can provide Tested-by's if I am CC'd on fixes.
The ZII dev rev C is where I had the hog as a means of kicking the
88x3310 PHY out of reset.

I've now converted it to a proper MDIO bus-level reset, so I no
longer have the hog, and I no longer care about the regression - but
that's not to say it shouldn't be fixed, as the code is wrong.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help