diff options
author | Magnus Damm <damm@igel.co.jp> | 2009-01-22 04:55:40 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-01-29 02:44:18 -0500 |
commit | 70f0800133b2a6d694c10908b8673a5327b3bfd6 (patch) | |
tree | 4ff664faa4964330891c0180aaa0d5e161b8c758 /arch/sh/kernel | |
parent | 955c0778723501cc16fec40501cd54b7e72d3e74 (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')
-rw-r--r-- | arch/sh/kernel/timers/timer-tmu.c | 10 |
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 | ||