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