Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53c01d...
Commit: 53c01d2dc38cd3cfaf5591ec5c6c9c4e437cfec2
Parent: 71f0bdcab69ab36b1e939d36063aaf6c4a164ed3
Author: Paul Mundt <lethal@linux-sh.org>
AuthorDate: Fri Aug 8 01:18:48 2008 +0900
Committer: Paul Mundt <lethal@linux-sh.org>
CommitDate: Mon Sep 8 10:35:03 2008 +0900
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>
---
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 decee0a..e2f74cc 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;
--