Message ID | 20160726180132.12764-1-robh@kernel.org |
---|---|
State | Accepted |
Commit | e973f4ec130ac0eefb9e69b5139ed8a2768250aa |
Headers | show |
On Tue, Jul 26, 2016 at 1:50 PM, Max Filippov <jcmvbkbc@gmail.com> wrote: > On Tue, Jul 26, 2016 at 01:01:32PM -0500, Rob Herring wrote: >> This partially reverts commit 69d99e6c0d62 keeping only the main >> purpose of the original commit which is the removal of >> of_platform_populate() call. The moving of of_clk_init() caused changes >> in the initialization order breaking booting. >> >> Fixes: 69d99e6c0d621f ("xtensa: Remove unnecessary of_platform_populate with default match table") >> Cc: Kefeng Wang <wangkefeng.wang@huawei.com> >> Cc: Guenter Roeck <linux@roeck-us.net> >> Cc: Max Filippov <jcmvbkbc@gmail.com> >> Signed-off-by: Rob Herring <robh@kernel.org> >> --- >> This is on top of Guenter's build fix. Please test and I'll apply. I > > Tested-by: Max Filippov <jcmvbkbc@gmail.com> Thanks. >> tried briefly running under QEMU, but didn't have success. If anyone has >> up to date instructions that would be helpful as using these[1] didn't >> seem to work. > > I think they're up to date. Another thing that need to be done right is > the toolchain: it must match the configured CPU core. Please refer to > http://wiki.linux-xtensa.org/index.php/Toolchain_Overlay_File > for more details. I don't build toolchains... Rob
On 2016/7/27 2:50, Max Filippov wrote: > On Tue, Jul 26, 2016 at 01:01:32PM -0500, Rob Herring wrote: >> This partially reverts commit 69d99e6c0d62 keeping only the main >> purpose of the original commit which is the removal of >> of_platform_populate() call. The moving of of_clk_init() caused changes >> in the initialization order breaking booting. >> >> Fixes: 69d99e6c0d621f ("xtensa: Remove unnecessary of_platform_populate with default match table") >> Cc: Kefeng Wang <wangkefeng.wang@huawei.com> >> Cc: Guenter Roeck <linux@roeck-us.net> >> Cc: Max Filippov <jcmvbkbc@gmail.com> >> Signed-off-by: Rob Herring <robh@kernel.org> >> --- >> This is on top of Guenter's build fix. Please test and I'll apply. I Hi all, Sorry about the issue introduced by me, will be more careful, and thanks Rob and Guenter to fix them. BRs, Kefeng > > Tested-by: Max Filippov <jcmvbkbc@gmail.com> > >> tried briefly running under QEMU, but didn't have success. If anyone has >> up to date instructions that would be helpful as using these[1] didn't >> seem to work. > > I think they're up to date. Another thing that need to be done right is > the toolchain: it must match the configured CPU core. Please refer to > http://wiki.linux-xtensa.org/index.php/Toolchain_Overlay_File > for more details. > >> >> [1] http://wiki.linux-xtensa.org/index.php/Xtensa_on_QEMU >> >> arch/xtensa/kernel/setup.c | 9 +++++++++ >> arch/xtensa/kernel/time.c | 2 -- >> 2 files changed, 9 insertions(+), 2 deletions(-) >
diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c index 6f68c60..143251e 100644 --- a/arch/xtensa/kernel/setup.c +++ b/arch/xtensa/kernel/setup.c @@ -22,6 +22,7 @@ #include <linux/bootmem.h> #include <linux/kernel.h> #include <linux/percpu.h> +#include <linux/clk-provider.h> #include <linux/cpu.h> #include <linux/of.h> #include <linux/of_fdt.h> @@ -251,6 +252,14 @@ void __init early_init_devtree(void *params) strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE); } +static int __init xtensa_device_probe(void) +{ + of_clk_init(NULL); + return 0; +} + +device_initcall(xtensa_device_probe); + #endif /* CONFIG_OF */ /* diff --git a/arch/xtensa/kernel/time.c b/arch/xtensa/kernel/time.c index 6ec73c9..b9ad9fe 100644 --- a/arch/xtensa/kernel/time.c +++ b/arch/xtensa/kernel/time.c @@ -15,7 +15,6 @@ #include <linux/errno.h> #include <linux/sched.h> #include <linux/time.h> -#include <linux/clk-provider.h> #include <linux/clocksource.h> #include <linux/clockchips.h> #include <linux/interrupt.h> @@ -149,7 +148,6 @@ void __init time_init(void) local_timer_setup(0); setup_irq(this_cpu_ptr(&ccount_timer)->evt.irq, &timer_irqaction); sched_clock_register(ccount_sched_clock_read, 32, ccount_freq); - of_clk_init(NULL); clocksource_probe(); }
This partially reverts commit 69d99e6c0d62 keeping only the main purpose of the original commit which is the removal of of_platform_populate() call. The moving of of_clk_init() caused changes in the initialization order breaking booting. Fixes: 69d99e6c0d621f ("xtensa: Remove unnecessary of_platform_populate with default match table") Cc: Kefeng Wang <wangkefeng.wang@huawei.com> Cc: Guenter Roeck <linux@roeck-us.net> Cc: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Rob Herring <robh@kernel.org> --- This is on top of Guenter's build fix. Please test and I'll apply. I tried briefly running under QEMU, but didn't have success. If anyone has up to date instructions that would be helpful as using these[1] didn't seem to work. Rob [1] http://wiki.linux-xtensa.org/index.php/Xtensa_on_QEMU arch/xtensa/kernel/setup.c | 9 +++++++++ arch/xtensa/kernel/time.c | 2 -- 2 files changed, 9 insertions(+), 2 deletions(-) -- 2.9.2