Commit e973f4ec authored by Rob Herring's avatar Rob Herring

xtensa: Partially Revert "xtensa: Remove unnecessary of_platform_populate with default match table"

This partially reverts commit 69d99e6c 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: 69d99e6c ("xtensa: Remove unnecessary of_platform_populate with default match table")
Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Tested-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent d02014b2
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <linux/bootmem.h> #include <linux/bootmem.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/percpu.h> #include <linux/percpu.h>
#include <linux/clk-provider.h>
#include <linux/cpu.h> #include <linux/cpu.h>
#include <linux/of.h> #include <linux/of.h>
#include <linux/of_fdt.h> #include <linux/of_fdt.h>
...@@ -251,6 +252,14 @@ void __init early_init_devtree(void *params) ...@@ -251,6 +252,14 @@ void __init early_init_devtree(void *params)
strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE); 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 */ #endif /* CONFIG_OF */
/* /*
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/time.h> #include <linux/time.h>
#include <linux/clk-provider.h>
#include <linux/clocksource.h> #include <linux/clocksource.h>
#include <linux/clockchips.h> #include <linux/clockchips.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
...@@ -149,7 +148,6 @@ void __init time_init(void) ...@@ -149,7 +148,6 @@ void __init time_init(void)
local_timer_setup(0); local_timer_setup(0);
setup_irq(this_cpu_ptr(&ccount_timer)->evt.irq, &timer_irqaction); setup_irq(this_cpu_ptr(&ccount_timer)->evt.irq, &timer_irqaction);
sched_clock_register(ccount_sched_clock_read, 32, ccount_freq); sched_clock_register(ccount_sched_clock_read, 32, ccount_freq);
of_clk_init(NULL);
clocksource_probe(); clocksource_probe();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment