aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/timers/timer-tmu.c
diff options
context:
space:
mode:
authorMagnus Damm <damm@igel.co.jp>2009-01-22 04:55:40 -0500
committerPaul Mundt <lethal@linux-sh.org>2009-01-29 02:44:18 -0500
commit70f0800133b2a6d694c10908b8673a5327b3bfd6 (patch)
tree4ff664faa4964330891c0180aaa0d5e161b8c758 /arch/sh/kernel/timers/timer-tmu.c
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/timer-tmu.c')
-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 33a24fcf0a1d..2b62f9cff22b 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)
146 _tmu_clear_status(TMU0); 146 _tmu_clear_status(TMU0);
147 _tmu_set_irq(TMU0,tmu0_clockevent.mode != CLOCK_EVT_MODE_ONESHOT); 147 _tmu_set_irq(TMU0,tmu0_clockevent.mode != CLOCK_EVT_MODE_ONESHOT);
148 148
149 evt->event_handler(evt); 149 switch (tmu0_clockevent.mode) {
150 case CLOCK_EVT_MODE_ONESHOT:
151 case CLOCK_EVT_MODE_PERIODIC:
152 evt->event_handler(evt);
153 break;
154 default:
155 break;
156 }
150 157
151 return IRQ_HANDLED; 158 return IRQ_HANDLED;
152} 159}
@@ -271,6 +278,7 @@ static int tmu_timer_init(void)
271 clockevent_delta2ns(1, &tmu0_clockevent); 278 clockevent_delta2ns(1, &tmu0_clockevent);
272 279
273 tmu0_clockevent.cpumask = cpumask_of(0); 280 tmu0_clockevent.cpumask = cpumask_of(0);
281 tmu0_clockevent.rating = 100;
274 282
275 clockevents_register_device(&tmu0_clockevent); 283 clockevents_register_device(&tmu0_clockevent);
276 284