diff options
author | Paul Mundt <lethal@linux-sh.org> | 2008-08-07 18:18:48 +0200 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-09-08 03:35:03 +0200 |
commit | 53c01d2dc38cd3cfaf5591ec5c6c9c4e437cfec2 (patch) | |
tree | 925b8f1c9e6b95445f721b0e3d36425b9d919fb5 /arch/sh/kernel/time_32.c | |
parent | sh: smp: shove a cpu_relax() in the plat_start_cpu() busy loop. (diff) | |
download | linux-53c01d2dc38cd3cfaf5591ec5c6c9c4e437cfec2.tar.xz linux-53c01d2dc38cd3cfaf5591ec5c6c9c4e437cfec2.zip |
sh: Early dummy clockevent registration on boot CPU.
The dummy timer needs to be registered on the boot CPU before the
system timer clockevent is registered, or broadcasting doesn't work
as advertized.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/time_32.c')
-rw-r--r-- | arch/sh/kernel/time_32.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/sh/kernel/time_32.c b/arch/sh/kernel/time_32.c index decee0a453ab..e2f74cc71d8c 100644 --- a/arch/sh/kernel/time_32.c +++ b/arch/sh/kernel/time_32.c @@ -254,6 +254,10 @@ void __init time_init(void) set_normalized_timespec(&wall_to_monotonic, -xtime.tv_sec, -xtime.tv_nsec); +#ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST + local_timer_setup(smp_processor_id()); +#endif + /* * Find the timer to use as the system timer, it will be * initialized for us. @@ -261,9 +265,6 @@ void __init time_init(void) sys_timer = get_sys_timer(); printk(KERN_INFO "Using %s for system timer\n", sys_timer->name); -#ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST - local_timer_setup(smp_processor_id()); -#endif if (sys_timer->ops->read) clocksource_sh.read = sys_timer->ops->read; |