linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BISECTED REGRESSION] v4.8-rc: DT/OCTEON driver probing broken
@ 2016-08-16 15:00 Aaro Koskinen
  2016-08-28 10:34 ` Thorsten Leemhuis
  2016-08-29 17:36 ` Rob Herring
  0 siblings, 2 replies; 7+ messages in thread
From: Aaro Koskinen @ 2016-08-16 15:00 UTC (permalink / raw)
  To: Kefeng Wang, Rob Herring, devicetree, linux-mips, Ralf Baechle,
	David Daney
  Cc: linux-kernel, Thorsten Leemhuis

Hi,

Commit 44a7185c2ae6 ("of/platform: Add common method to populate default
bus") added new arch_initcall of_platform_default_populate_init() that
will be called before device_initcall octeon_publish_devices(). Now the
of_platform_bus_probe() called in octeon_publish_devices() is apparently
doing nothing:

[   52.331353] calling  octeon_publish_devices+0x0/0x14 @ 1
[   52.331358] OF: of_platform_bus_probe()
[   52.331362] OF:  starting at: /
[   52.331378] OF: of_platform_bus_create() - skipping /soc@0, already populated
[   52.331394] initcall octeon_publish_devices+0x0/0x14 returned 0 after 29 usecs

This also means that USB etc. won't get probed.

Any ideas what would be the proper fix for this? Changing
octeon_publish_devices() to arch_initcall seems to work but that may be
a bit hackish... Also, there might be also other MIPS boards affected
(arch/mips/netlogic/xlp/dt.c, arch/mips/mti-malta/malta-dt.c).

A.

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

* Re: [BISECTED REGRESSION] v4.8-rc: DT/OCTEON driver probing broken
  2016-08-16 15:00 [BISECTED REGRESSION] v4.8-rc: DT/OCTEON driver probing broken Aaro Koskinen
@ 2016-08-28 10:34 ` Thorsten Leemhuis
  2016-08-28 12:22   ` Aaro Koskinen
  2016-08-29 17:36 ` Rob Herring
  1 sibling, 1 reply; 7+ messages in thread
From: Thorsten Leemhuis @ 2016-08-28 10:34 UTC (permalink / raw)
  To: Aaro Koskinen, Kefeng Wang, Rob Herring, devicetree, linux-mips,
	Ralf Baechle, David Daney
  Cc: linux-kernel

Lo! Kefeng, below report made it to the list of regression for 4.8, but
afaics nothing happened after the initial report. Is there maybe some
reason why it shouldn't be on the list of regressions at all? Or was the
problem discussed elsewhere? Or is it even fixed already? I noticed
https://git.kernel.org/torvalds/c/fc520f8b4f (of/platform: disable the
of_platform_default_populate_init() for all the ppc board), but that
change is PPC specific.

Ciao, Thorsten

On 16.08.2016 17:00, Aaro Koskinen wrote:
> Hi,
> 
> Commit 44a7185c2ae6 ("of/platform: Add common method to populate default
> bus") added new arch_initcall of_platform_default_populate_init() that
> will be called before device_initcall octeon_publish_devices(). Now the
> of_platform_bus_probe() called in octeon_publish_devices() is apparently
> doing nothing:
> 
> [   52.331353] calling  octeon_publish_devices+0x0/0x14 @ 1
> [   52.331358] OF: of_platform_bus_probe()
> [   52.331362] OF:  starting at: /
> [   52.331378] OF: of_platform_bus_create() - skipping /soc@0, already populated
> [   52.331394] initcall octeon_publish_devices+0x0/0x14 returned 0 after 29 usecs
> 
> This also means that USB etc. won't get probed.
> 
> Any ideas what would be the proper fix for this? Changing
> octeon_publish_devices() to arch_initcall seems to work but that may be
> a bit hackish... Also, there might be also other MIPS boards affected
> (arch/mips/netlogic/xlp/dt.c, arch/mips/mti-malta/malta-dt.c).
> 
> A.
> 
> http://news.gmane.org/find-root.php?message_id=20160816150056.GD18731%40ak-desktop.emea.nsn-net.net 
> http://mid.gmane.org/20160816150056.GD18731%40ak-desktop.emea.nsn-net.net
> 

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

* Re: [BISECTED REGRESSION] v4.8-rc: DT/OCTEON driver probing broken
  2016-08-28 10:34 ` Thorsten Leemhuis
@ 2016-08-28 12:22   ` Aaro Koskinen
  2016-08-29 22:39     ` Rob Herring
  0 siblings, 1 reply; 7+ messages in thread
From: Aaro Koskinen @ 2016-08-28 12:22 UTC (permalink / raw)
  To: Thorsten Leemhuis
  Cc: Aaro Koskinen, Kefeng Wang, Rob Herring, devicetree, linux-mips,
	Ralf Baechle, David Daney, linux-kernel

Hi,

On Sun, Aug 28, 2016 at 12:34:06PM +0200, Thorsten Leemhuis wrote:
> Lo! Kefeng, below report made it to the list of regression for 4.8, but
> afaics nothing happened after the initial report. Is there maybe some
> reason why it shouldn't be on the list of regressions at all? Or was the
> problem discussed elsewhere? Or is it even fixed already? I noticed
> https://git.kernel.org/torvalds/c/fc520f8b4f (of/platform: disable the
> of_platform_default_populate_init() for all the ppc board), but that
> change is PPC specific.

There is a fix proposal here:

	https://patchwork.linux-mips.org/patch/14041/

There is still few other boards remaining that use of_platform_bus_probe()
from device_initcall, but who knows, maybe they are not affected.

arch/microblaze/kernel/platform.c
arch/mips/mti-malta/malta-dt.c
arch/mips/netlogic/xlp/dt.c
arch/x86/platform/olpc/olpc_dt.c

A.

> On 16.08.2016 17:00, Aaro Koskinen wrote:
> > Hi,
> > 
> > Commit 44a7185c2ae6 ("of/platform: Add common method to populate default
> > bus") added new arch_initcall of_platform_default_populate_init() that
> > will be called before device_initcall octeon_publish_devices(). Now the
> > of_platform_bus_probe() called in octeon_publish_devices() is apparently
> > doing nothing:
> > 
> > [   52.331353] calling  octeon_publish_devices+0x0/0x14 @ 1
> > [   52.331358] OF: of_platform_bus_probe()
> > [   52.331362] OF:  starting at: /
> > [   52.331378] OF: of_platform_bus_create() - skipping /soc@0, already populated
> > [   52.331394] initcall octeon_publish_devices+0x0/0x14 returned 0 after 29 usecs
> > 
> > This also means that USB etc. won't get probed.
> > 
> > Any ideas what would be the proper fix for this? Changing
> > octeon_publish_devices() to arch_initcall seems to work but that may be
> > a bit hackish... Also, there might be also other MIPS boards affected
> > (arch/mips/netlogic/xlp/dt.c, arch/mips/mti-malta/malta-dt.c).
> > 
> > A.
> > 
> > http://news.gmane.org/find-root.php?message_id=20160816150056.GD18731%40ak-desktop.emea.nsn-net.net 
> > http://mid.gmane.org/20160816150056.GD18731%40ak-desktop.emea.nsn-net.net
> > 
> 

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

* Re: [BISECTED REGRESSION] v4.8-rc: DT/OCTEON driver probing broken
  2016-08-16 15:00 [BISECTED REGRESSION] v4.8-rc: DT/OCTEON driver probing broken Aaro Koskinen
  2016-08-28 10:34 ` Thorsten Leemhuis
@ 2016-08-29 17:36 ` Rob Herring
  2016-08-29 18:41   ` Rob Herring
  1 sibling, 1 reply; 7+ messages in thread
From: Rob Herring @ 2016-08-29 17:36 UTC (permalink / raw)
  To: Aaro Koskinen
  Cc: Kefeng Wang, devicetree, Linux-MIPS, Ralf Baechle, David Daney,
	linux-kernel, Thorsten Leemhuis

On Tue, Aug 16, 2016 at 10:00 AM, Aaro Koskinen <aaro.koskinen@nokia.com> wrote:
> Hi,
>
> Commit 44a7185c2ae6 ("of/platform: Add common method to populate default
> bus") added new arch_initcall of_platform_default_populate_init() that
> will be called before device_initcall octeon_publish_devices(). Now the
> of_platform_bus_probe() called in octeon_publish_devices() is apparently
> doing nothing:
>
> [   52.331353] calling  octeon_publish_devices+0x0/0x14 @ 1
> [   52.331358] OF: of_platform_bus_probe()
> [   52.331362] OF:  starting at: /
> [   52.331378] OF: of_platform_bus_create() - skipping /soc@0, already populated
> [   52.331394] initcall octeon_publish_devices+0x0/0x14 returned 0 after 29 usecs
>
> This also means that USB etc. won't get probed.
>
> Any ideas what would be the proper fix for this? Changing
> octeon_publish_devices() to arch_initcall seems to work but that may be
> a bit hackish... Also, there might be also other MIPS boards affected
> (arch/mips/netlogic/xlp/dt.c, arch/mips/mti-malta/malta-dt.c).

Can you try reverting this hunk. I don't think it should be needed and
it is preventing /soc@0 children from being probed. If things still
don't work, then it should purely be a probe ordering problem. I have
some better fixes in mind, but not for 4.8. So if this doesn't work,
then the same fix as PPC is fine.

diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index 16e8daf..c559ef8 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -363,6 +363,12 @@ static int of_platform_bus_create(struct device_node *bus,
                return 0;
        }

+       if (of_node_check_flag(bus, OF_POPULATED_BUS)) {
+               pr_debug("%s() - skipping %s, already populated\n",
+                       __func__, bus->full_name);
+               return 0;
+       }
+
        auxdata = of_dev_lookup(lookup, bus);
        if (auxdata) {
                bus_id = auxdata->name;

Rob

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

* Re: [BISECTED REGRESSION] v4.8-rc: DT/OCTEON driver probing broken
  2016-08-29 17:36 ` Rob Herring
@ 2016-08-29 18:41   ` Rob Herring
  0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring @ 2016-08-29 18:41 UTC (permalink / raw)
  To: Aaro Koskinen
  Cc: Kefeng Wang, devicetree, Linux-MIPS, Ralf Baechle, David Daney,
	linux-kernel, Thorsten Leemhuis

On Mon, Aug 29, 2016 at 12:36 PM, Rob Herring <robh@kernel.org> wrote:
> On Tue, Aug 16, 2016 at 10:00 AM, Aaro Koskinen <aaro.koskinen@nokia.com> wrote:
>> Hi,
>>
>> Commit 44a7185c2ae6 ("of/platform: Add common method to populate default
>> bus") added new arch_initcall of_platform_default_populate_init() that
>> will be called before device_initcall octeon_publish_devices(). Now the
>> of_platform_bus_probe() called in octeon_publish_devices() is apparently
>> doing nothing:
>>
>> [   52.331353] calling  octeon_publish_devices+0x0/0x14 @ 1
>> [   52.331358] OF: of_platform_bus_probe()
>> [   52.331362] OF:  starting at: /
>> [   52.331378] OF: of_platform_bus_create() - skipping /soc@0, already populated
>> [   52.331394] initcall octeon_publish_devices+0x0/0x14 returned 0 after 29 usecs
>>
>> This also means that USB etc. won't get probed.
>>
>> Any ideas what would be the proper fix for this? Changing
>> octeon_publish_devices() to arch_initcall seems to work but that may be
>> a bit hackish... Also, there might be also other MIPS boards affected
>> (arch/mips/netlogic/xlp/dt.c, arch/mips/mti-malta/malta-dt.c).
>
> Can you try reverting this hunk. I don't think it should be needed and
> it is preventing /soc@0 children from being probed. If things still
> don't work, then it should purely be a probe ordering problem. I have
> some better fixes in mind, but not for 4.8. So if this doesn't work,
> then the same fix as PPC is fine.

Nevermind, reverting this hunk is not enough.

Rob

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

* Re: [BISECTED REGRESSION] v4.8-rc: DT/OCTEON driver probing broken
  2016-08-28 12:22   ` Aaro Koskinen
@ 2016-08-29 22:39     ` Rob Herring
  2016-09-11 12:34       ` Thorsten Leemhuis
  0 siblings, 1 reply; 7+ messages in thread
From: Rob Herring @ 2016-08-29 22:39 UTC (permalink / raw)
  To: Aaro Koskinen, Michal Simek, Paul Burton
  Cc: Thorsten Leemhuis, Aaro Koskinen, Kefeng Wang, devicetree,
	Linux-MIPS, Ralf Baechle, David Daney, linux-kernel

On Sun, Aug 28, 2016 at 7:22 AM, Aaro Koskinen <aaro.koskinen@iki.fi> wrote:
> Hi,
>
> On Sun, Aug 28, 2016 at 12:34:06PM +0200, Thorsten Leemhuis wrote:
>> Lo! Kefeng, below report made it to the list of regression for 4.8, but
>> afaics nothing happened after the initial report. Is there maybe some
>> reason why it shouldn't be on the list of regressions at all? Or was the
>> problem discussed elsewhere? Or is it even fixed already? I noticed
>> https://git.kernel.org/torvalds/c/fc520f8b4f (of/platform: disable the
>> of_platform_default_populate_init() for all the ppc board), but that
>> change is PPC specific.
>
> There is a fix proposal here:
>
>         https://patchwork.linux-mips.org/patch/14041/
>
> There is still few other boards remaining that use of_platform_bus_probe()
> from device_initcall, but who knows, maybe they are not affected.
>
> arch/microblaze/kernel/platform.c

xlnx,compound is going to fail to probe. I'm adding this to the default.

> arch/mips/mti-malta/malta-dt.c

This should be fine. It does probe for "isa", but nothing in mainline
is using that. We can add it to the default when it does.

> arch/mips/netlogic/xlp/dt.c

Should be okay with default.

> arch/x86/platform/olpc/olpc_dt.c

This one needs fixing.

Rob

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

* Re: [BISECTED REGRESSION] v4.8-rc: DT/OCTEON driver probing broken
  2016-08-29 22:39     ` Rob Herring
@ 2016-09-11 12:34       ` Thorsten Leemhuis
  0 siblings, 0 replies; 7+ messages in thread
From: Thorsten Leemhuis @ 2016-09-11 12:34 UTC (permalink / raw)
  To: Rob Herring, Aaro Koskinen, Michal Simek, Paul Burton
  Cc: Aaro Koskinen, Kefeng Wang, devicetree, Linux-MIPS, Ralf Baechle,
	David Daney, linux-kernel

Hi! On 30.08.2016 00:39, Rob Herring wrote:
> On Sun, Aug 28, 2016 at 7:22 AM, Aaro Koskinen <aaro.koskinen@iki.fi> wrote:
>> On Sun, Aug 28, 2016 at 12:34:06PM +0200, Thorsten Leemhuis wrote:
>> There is a fix proposal here:
>>         https://patchwork.linux-mips.org/patch/14041/
>> There is still few other boards remaining that use of_platform_bus_probe()
>> from device_initcall, but who knows, maybe they are not affected.
>> arch/microblaze/kernel/platform.c
> xlnx,compound is going to fail to probe. I'm adding this to the default.
> 
>> arch/mips/mti-malta/malta-dt.c
> This should be fine. It does probe for "isa", but nothing in mainline
> is using that. We can add it to the default when it does.
> 
>> arch/mips/netlogic/xlp/dt.c
> Should be okay with default.
> 
>> arch/x86/platform/olpc/olpc_dt.c
> This one needs fixing.

Rob, did anything happen on this front? This issue is still on the list
of regression for 4.8, and it seems to me nothing happened in the past
ten days -- or is this discussed somewhere else?.

Ciao, Thorsten

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

end of thread, other threads:[~2016-09-11 12:34 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-16 15:00 [BISECTED REGRESSION] v4.8-rc: DT/OCTEON driver probing broken Aaro Koskinen
2016-08-28 10:34 ` Thorsten Leemhuis
2016-08-28 12:22   ` Aaro Koskinen
2016-08-29 22:39     ` Rob Herring
2016-09-11 12:34       ` Thorsten Leemhuis
2016-08-29 17:36 ` Rob Herring
2016-08-29 18:41   ` Rob Herring

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).