[MIPS] use generic_handle_irq, handle_level_irq, handle_percpu_irq
Further incorporation of generic irq framework. Replacing __do_IRQ() by proper flow handler would make the irq handling path a bit simpler and faster. * use generic_handle_irq() instead of __do_IRQ(). * use handle_level_irq for obvious level-type irq chips. * use handle_percpu_irq for irqs marked as IRQ_PER_CPU. * setup .eoi routine for irq chips possibly used with handle_percpu_irq. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:

committed by
Ralf Baechle

parent
1603b5aca4
commit
1417836e81
@@ -190,6 +190,7 @@ static struct irq_chip rt_irq_type = {
|
||||
.mask = disable_rt_irq,
|
||||
.mask_ack = disable_rt_irq,
|
||||
.unmask = enable_rt_irq,
|
||||
.eoi = enable_rt_irq,
|
||||
.end = end_rt_irq,
|
||||
};
|
||||
|
||||
@@ -207,7 +208,7 @@ void __init plat_timer_setup(struct irqaction *irq)
|
||||
if (irqno < 0)
|
||||
panic("Can't allocate interrupt number for timer interrupt");
|
||||
|
||||
set_irq_chip(irqno, &rt_irq_type);
|
||||
set_irq_chip_and_handler(irqno, &rt_irq_type, handle_percpu_irq);
|
||||
|
||||
/* over-write the handler, we use our own way */
|
||||
irq->handler = no_action;
|
||||
|
Reference in New Issue
Block a user