|
@@ -210,12 +210,6 @@ static irqreturn_t timer_irq_handler(int irq, void *dev_id)
|
|
|
return IRQ_HANDLED;
|
|
|
}
|
|
|
|
|
|
-static struct irqaction arc_timer_irq = {
|
|
|
- .name = "Timer0 (clock-evt-dev)",
|
|
|
- .flags = IRQF_TIMER | IRQF_PERCPU,
|
|
|
- .handler = timer_irq_handler,
|
|
|
-};
|
|
|
-
|
|
|
/*
|
|
|
* Setup the local event timer for @cpu
|
|
|
*/
|
|
@@ -228,15 +222,9 @@ void arc_local_timer_setup()
|
|
|
clockevents_config_and_register(evt, arc_get_core_freq(),
|
|
|
0, ARC_TIMER_MAX);
|
|
|
|
|
|
- /*
|
|
|
- * setup the per-cpu timer IRQ handler - for all cpus
|
|
|
- * For non boot CPU explicitly unmask at intc
|
|
|
- * setup_irq() -> .. -> irq_startup() already does this on boot-cpu
|
|
|
- */
|
|
|
- if (!cpu)
|
|
|
- setup_irq(TIMER0_IRQ, &arc_timer_irq);
|
|
|
- else
|
|
|
- arch_unmask_irq(TIMER0_IRQ);
|
|
|
+ /* setup the per-cpu timer IRQ handler - for all cpus */
|
|
|
+ arc_request_percpu_irq(TIMER0_IRQ, cpu, timer_irq_handler,
|
|
|
+ "Timer0 (per-cpu-tick)", evt);
|
|
|
}
|
|
|
|
|
|
/*
|