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