sh: tmu disable support
authorMagnus Damm <damm@igel.co.jp>
Thu, 22 Jan 2009 09:55:40 +0000 (09:55 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 29 Jan 2009 07:44:18 +0000 (16:44 +0900)
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>
arch/sh/kernel/timers/timer-tmu.c

index 33a24fc..2b62f9c 100644 (file)
@@ -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);