浏览代码

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>
Paul Mundt 17 年之前
父节点
当前提交
53c01d2dc3
共有 1 个文件被更改,包括 4 次插入3 次删除
  1. 4 3
      arch/sh/kernel/time_32.c

+ 4 - 3
arch/sh/kernel/time_32.c

@@ -254,6 +254,10 @@ void __init time_init(void)
 	set_normalized_timespec(&wall_to_monotonic,
 	set_normalized_timespec(&wall_to_monotonic,
 				-xtime.tv_sec, -xtime.tv_nsec);
 				-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
 	 * Find the timer to use as the system timer, it will be
 	 * initialized for us.
 	 * initialized for us.
@@ -261,9 +265,6 @@ void __init time_init(void)
 	sys_timer = get_sys_timer();
 	sys_timer = get_sys_timer();
 	printk(KERN_INFO "Using %s for system timer\n", sys_timer->name);
 	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)
 	if (sys_timer->ops->read)
 		clocksource_sh.read = sys_timer->ops->read;
 		clocksource_sh.read = sys_timer->ops->read;