* Re: [REGRESSION][BISECTED] i.MX6 pinctrl hogs stopped working
[not found] ` <950ec4db-4121-2faf-b6fd-5fcabef91e90@nextfour.com>
@ 2018-04-17 8:50 ` Richard Fitzgerald
2018-04-27 9:13 ` Richard Fitzgerald
0 siblings, 1 reply; 2+ messages in thread
From: Richard Fitzgerald @ 2018-04-17 8:50 UTC (permalink / raw)
To: Mika Penttilä, linus.walleij; +Cc: LKML, linux-gpio, patches
On 10/04/18 19:33, Mika Penttilä wrote:
>
>
> On 10.04.2018 13:21, Richard Fitzgerald wrote:
>> 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.
>>
>
> Hard to say, but the kernel/dts has worked ok for 3+ years, from 3.17 until 4.17-rc. Nothing fancy, just normal hogs, in two groups.
> Can send you relevant pieces of DT if interested.
>
> --Mika
>
Tell me where in the kernel tree the the dts files and the source for
the pinctrl driver that uses them and which dts node, and I will look
at what the driver is doing.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [REGRESSION][BISECTED] i.MX6 pinctrl hogs stopped working
2018-04-17 8:50 ` [REGRESSION][BISECTED] i.MX6 pinctrl hogs stopped working Richard Fitzgerald
@ 2018-04-27 9:13 ` Richard Fitzgerald
0 siblings, 0 replies; 2+ messages in thread
From: Richard Fitzgerald @ 2018-04-27 9:13 UTC (permalink / raw)
To: Mika Penttilä, linus.walleij; +Cc: LKML, linux-gpio, patches
On 17/04/18 09:50, Richard Fitzgerald wrote:
> On 10/04/18 19:33, Mika Penttilä wrote:
>>
>>
>> On 10.04.2018 13:21, Richard Fitzgerald wrote:
>>> 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.
>>>
>>
>> Hard to say, but the kernel/dts has worked ok for 3+ years, from 3.17
>> until 4.17-rc. Nothing fancy, just normal hogs, in two groups.
>> Can send you relevant pieces of DT if interested.
>>
>> --Mika
>>
>
> Tell me where in the kernel tree the the dts files and the source for
> the pinctrl driver that uses them and which dts node, and I will look
> at what the driver is doing.
Hi,
Sorry, I have been very busy and haven't had time to look at the i.MX6
driver yet.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-04-27 9:13 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <8b07e30a-7dd1-7923-dc50-b84f0e43e9e9@nextfour.com>
[not found] ` <1d3c6099-3b33-d5dd-e12b-903586dc79f3@opensource.cirrus.com>
[not found] ` <950ec4db-4121-2faf-b6fd-5fcabef91e90@nextfour.com>
2018-04-17 8:50 ` [REGRESSION][BISECTED] i.MX6 pinctrl hogs stopped working Richard Fitzgerald
2018-04-27 9:13 ` Richard Fitzgerald
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).