Messages in this thread | | | Subject | Re: [REGRESSION][BISECTED] i.MX6 pinctrl hogs stopped working | From | Richard Fitzgerald <> | Date | Tue, 10 Apr 2018 11:21:29 +0100 |
| |
On 04/04/18 06:33, Mika Penttilä wrote: > Hi! > > Reverting this made the hogs on a i.MX6 board work again. : > > > commit b89405b6102fcc3746f43697b826028caa94c823 > Author: Richard Fitzgerald <rf@opensource.cirrus.com> > Date: Wed Feb 28 15:53:06 2018 +0000 > > pinctrl: devicetree: Fix dt_to_map_one_config handling of hogs > > > > --Mika >
I think you should check whether the bug is with the i.MX6 driver relying on the previous buggy behaviour of pinctrl. I haven't got i.MX6 hardware to test myself.
The bug I fixed in that patch was that when pinctrl is probing a pinctrl driver it would try to apply all the pinctrl settings listed in a dt node to the pinctrl driver it is probing instead of the pinctrl drivers they actually refer to. This was a bug introduced by an earlier patch (which unfortunately I forgot to include a fixes line reference to)
pinctrl: core: Use delayed work for hogs
So if a pinctrl driver "A" had a dependency on another pinctrl driver "B" those dependencies wouldn't be properly created because all the "B" pinctrl DT entries would be attempted against "A" instead of "B". This caused failures if a pinctrl driver had a dependency on another pinctrl driver, of if creating a pinctrl driver that is a child of an MFD and that MFD has dependencies on another pinctrl driver.
| |