Commit 0b799d7c authored by Russell King's avatar Russell King

[ARM] Always claim the timer IRQ using SA_INTERRUPT.

parent cf26ff0d
...@@ -200,6 +200,7 @@ void do_settimeofday(struct timeval *tv) ...@@ -200,6 +200,7 @@ void do_settimeofday(struct timeval *tv)
static struct irqaction timer_irq = { static struct irqaction timer_irq = {
.name = "timer", .name = "timer",
.flags = SA_INTERRUPT,
}; };
/* /*
......
...@@ -23,7 +23,6 @@ anakin_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -23,7 +23,6 @@ anakin_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
void __init time_init(void) void __init time_init(void)
{ {
timer_irq.handler = anakin_timer_interrupt; timer_irq.handler = anakin_timer_interrupt;
timer_irq.flags = SA_INTERRUPT;
setup_irq(IRQ_TICK, &timer_irq); setup_irq(IRQ_TICK, &timer_irq);
} }
......
...@@ -75,15 +75,12 @@ static unsigned long sa1100_gettimeoffset (void) ...@@ -75,15 +75,12 @@ static unsigned long sa1100_gettimeoffset (void)
static void sa1100_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static void sa1100_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
unsigned int next_match; unsigned int next_match;
unsigned long flags;
do { do {
do_leds(); do_leds();
local_irq_save(flags);
do_timer(regs); do_timer(regs);
OSSR = OSSR_M0; /* Clear match on timer 0 */ OSSR = OSSR_M0; /* Clear match on timer 0 */
next_match = (OSMR0 += LATCH); next_match = (OSMR0 += LATCH);
local_irq_restore(flags);
do_set_rtc(); do_set_rtc();
} while ((signed long)(next_match - OSCR) <= 0); } while ((signed long)(next_match - OSCR) <= 0);
......
...@@ -34,6 +34,5 @@ void __init time_init(void) ...@@ -34,6 +34,5 @@ void __init time_init(void)
xtime.tv_sec = 0; xtime.tv_sec = 0;
timer_irq.handler = timer_interrupt; timer_irq.handler = timer_interrupt;
timer_irq.flags = SA_INTERRUPT; /* FIXME: really? */
setup_irq(IRQ_TIMER, &timer_irq); setup_irq(IRQ_TIMER, &timer_irq);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment