diff options
author | Paul Mundt <lethal@linux-sh.org> | 2008-08-06 05:37:07 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-09-07 21:35:03 -0400 |
commit | 8c24594deab89a484879bee270e948f0a556ed75 (patch) | |
tree | 2b0c95a4d53614e1118ea20aa7e705d983ddb23f /arch/sh/kernel/smp.c | |
parent | 6f52707e6882eb3bc6920c3f59beb05d23d68354 (diff) |
sh: generic clockevent broadcast support.
This hooks up GENERIC_CLOCKEVENTS_BROADCAST and a dummy local timer,
which we call in to from the timer IPI when no other local timer is
provided.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/smp.c')
-rw-r--r-- | arch/sh/kernel/smp.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c index 9cb3734dbd49..c55d314166c7 100644 --- a/arch/sh/kernel/smp.c +++ b/arch/sh/kernel/smp.c | |||
@@ -84,9 +84,12 @@ asmlinkage void __cpuinit start_secondary(void) | |||
84 | 84 | ||
85 | local_irq_enable(); | 85 | local_irq_enable(); |
86 | 86 | ||
87 | cpu = smp_processor_id(); | ||
88 | |||
89 | /* Enable local timers */ | ||
90 | local_timer_setup(cpu); | ||
87 | calibrate_delay(); | 91 | calibrate_delay(); |
88 | 92 | ||
89 | cpu = smp_processor_id(); | ||
90 | smp_store_cpu_info(cpu); | 93 | smp_store_cpu_info(cpu); |
91 | 94 | ||
92 | cpu_set(cpu, cpu_online_map); | 95 | cpu_set(cpu, cpu_online_map); |
@@ -195,7 +198,7 @@ void smp_timer_broadcast(cpumask_t mask) | |||
195 | static void ipi_timer(void) | 198 | static void ipi_timer(void) |
196 | { | 199 | { |
197 | irq_enter(); | 200 | irq_enter(); |
198 | /* XXX ... */ | 201 | local_timer_interrupt(); |
199 | irq_exit(); | 202 | irq_exit(); |
200 | } | 203 | } |
201 | 204 | ||