LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [REGRESSION][BISECTED] i.MX6 pinctrl hogs stopped working
@ 2018-04-04  5:33 Mika Penttilä
  2018-04-10 10:21 ` Richard Fitzgerald
  0 siblings, 1 reply; 5+ messages in thread
From: Mika Penttilä @ 2018-04-04  5:33 UTC (permalink / raw)
  To: LKML, rf

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [REGRESSION][BISECTED] i.MX6 pinctrl hogs stopped working
  2018-04-04  5:33 [REGRESSION][BISECTED] i.MX6 pinctrl hogs stopped working Mika Penttilä
@ 2018-04-10 10:21 ` Richard Fitzgerald
  2018-04-10 18:33   ` Mika Penttilä
  0 siblings, 1 reply; 5+ messages in thread
From: Richard Fitzgerald @ 2018-04-10 10:21 UTC (permalink / raw)
  To: Mika Penttilä, LKML

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.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [REGRESSION][BISECTED] i.MX6 pinctrl hogs stopped working
  2018-04-10 10:21 ` Richard Fitzgerald
@ 2018-04-10 18:33   ` Mika Penttilä
  2018-04-17  8:50     ` Richard Fitzgerald
  0 siblings, 1 reply; 5+ messages in thread
From: Mika Penttilä @ 2018-04-10 18:33 UTC (permalink / raw)
  To: Richard Fitzgerald, LKML



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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [REGRESSION][BISECTED] i.MX6 pinctrl hogs stopped working
  2018-04-10 18:33   ` Mika Penttilä
@ 2018-04-17  8:50     ` Richard Fitzgerald
  2018-04-27  9:13       ` Richard Fitzgerald
  0 siblings, 1 reply; 5+ 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] 5+ messages in thread

* Re: [REGRESSION][BISECTED] i.MX6 pinctrl hogs stopped working
  2018-04-17  8:50     ` Richard Fitzgerald
@ 2018-04-27  9:13       ` Richard Fitzgerald
  0 siblings, 0 replies; 5+ 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] 5+ messages in thread

end of thread, other threads:[~2018-04-27  9:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-04  5:33 [REGRESSION][BISECTED] i.MX6 pinctrl hogs stopped working Mika Penttilä
2018-04-10 10:21 ` Richard Fitzgerald
2018-04-10 18:33   ` Mika Penttilä
2018-04-17  8:50     ` 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).