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/time_32.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/time_32.c')
-rw-r--r-- | arch/sh/kernel/time_32.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/sh/kernel/time_32.c b/arch/sh/kernel/time_32.c index 0758b5ee8180..decee0a453ab 100644 --- a/arch/sh/kernel/time_32.c +++ b/arch/sh/kernel/time_32.c | |||
@@ -1,9 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * arch/sh/kernel/time.c | 2 | * arch/sh/kernel/time_32.c |
3 | * | 3 | * |
4 | * Copyright (C) 1999 Tetsuya Okada & Niibe Yutaka | 4 | * Copyright (C) 1999 Tetsuya Okada & Niibe Yutaka |
5 | * Copyright (C) 2000 Philipp Rumpf <prumpf@tux.org> | 5 | * Copyright (C) 2000 Philipp Rumpf <prumpf@tux.org> |
6 | * Copyright (C) 2002 - 2007 Paul Mundt | 6 | * Copyright (C) 2002 - 2008 Paul Mundt |
7 | * Copyright (C) 2002 M. R. Brown <mrbrown@linux-sh.org> | 7 | * Copyright (C) 2002 M. R. Brown <mrbrown@linux-sh.org> |
8 | * | 8 | * |
9 | * Some code taken from i386 version. | 9 | * Some code taken from i386 version. |
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/timex.h> | 16 | #include <linux/timex.h> |
17 | #include <linux/sched.h> | 17 | #include <linux/sched.h> |
18 | #include <linux/clockchips.h> | 18 | #include <linux/clockchips.h> |
19 | #include <linux/smp.h> | ||
19 | #include <asm/clock.h> | 20 | #include <asm/clock.h> |
20 | #include <asm/rtc.h> | 21 | #include <asm/rtc.h> |
21 | #include <asm/timer.h> | 22 | #include <asm/timer.h> |
@@ -260,6 +261,10 @@ void __init time_init(void) | |||
260 | sys_timer = get_sys_timer(); | 261 | sys_timer = get_sys_timer(); |
261 | printk(KERN_INFO "Using %s for system timer\n", sys_timer->name); | 262 | printk(KERN_INFO "Using %s for system timer\n", sys_timer->name); |
262 | 263 | ||
264 | #ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST | ||
265 | local_timer_setup(smp_processor_id()); | ||
266 | #endif | ||
267 | |||
263 | if (sys_timer->ops->read) | 268 | if (sys_timer->ops->read) |
264 | clocksource_sh.read = sys_timer->ops->read; | 269 | clocksource_sh.read = sys_timer->ops->read; |
265 | 270 | ||