aboutsummaryrefslogtreecommitdiff
path: root/arch/sh/kernel/timers
diff options
context:
space:
mode:
authorMagnus Damm <damm@igel.co.jp>2009-01-22 09:55:40 +0000
committerPaul Mundt <lethal@linux-sh.org>2009-01-29 16:44:18 +0900
commit70f0800133b2a6d694c10908b8673a5327b3bfd6 (patch)
tree4ff664faa4964330891c0180aaa0d5e161b8c758 /arch/sh/kernel/timers
parent955c0778723501cc16fec40501cd54b7e72d3e74 (diff)
sh: tmu disable support
Add TMU disable support so we can use other clockevents. Also, setup the clockevent rating. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/timers')
-rw-r--r--arch/sh/kernel/timers/timer-tmu.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/sh/kernel/timers/timer-tmu.c b/arch/sh/kernel/timers/timer-tmu.c
index 33a24fcf0a1..2b62f9cff22 100644
--- a/arch/sh/kernel/timers/timer-tmu.c
+++ b/arch/sh/kernel/timers/timer-tmu.c
@@ -146,7 +146,14 @@ static irqreturn_t tmu_timer_interrupt(int irq, void *dummy)
_tmu_clear_status(TMU0);
_tmu_set_irq(TMU0,tmu0_clockevent.mode != CLOCK_EVT_MODE_ONESHOT);
- evt->event_handler(evt);
+ switch (tmu0_clockevent.mode) {
+ case CLOCK_EVT_MODE_ONESHOT:
+ case CLOCK_EVT_MODE_PERIODIC:
+ evt->event_handler(evt);
+ break;
+ default:
+ break;
+ }
return IRQ_HANDLED;
}
@@ -271,6 +278,7 @@ static int tmu_timer_init(void)
clockevent_delta2ns(1, &tmu0_clockevent);
tmu0_clockevent.cpumask = cpumask_of(0);
+ tmu0_clockevent.rating = 100;
clockevents_register_device(&tmu0_clockevent);