aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/vr41xx/nec-cmbvr4133/irq.c
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2006-12-07 11:55:07 -0500
committerRalf Baechle <ralf@linux-mips.org>2006-12-08 20:04:00 -0500
commit9fd32cfbb602f3e5e898faa61d83c4a7897bd48a (patch)
tree6e74f498719f63c50d2827ba759605a620dcdd3d /arch/mips/vr41xx/nec-cmbvr4133/irq.c
parented99e2bc1dc5dc54eb5a019f4975562dbef20103 (diff)
[MIPS] Add GENERIC_HARDIRQS_NO__DO_IRQ for i8259 users
Now that i8259A_chip uses new irq flow handler select GENERIC_HARDIRQS_NO__DO_IRQ on some more platforms. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/vr41xx/nec-cmbvr4133/irq.c')
-rw-r--r--arch/mips/vr41xx/nec-cmbvr4133/irq.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/arch/mips/vr41xx/nec-cmbvr4133/irq.c b/arch/mips/vr41xx/nec-cmbvr4133/irq.c
index a039bb7251ff..128ed8d6f111 100644
--- a/arch/mips/vr41xx/nec-cmbvr4133/irq.c
+++ b/arch/mips/vr41xx/nec-cmbvr4133/irq.c
@@ -45,19 +45,12 @@ static void ack_i8259_irq(unsigned int irq)
45 mask_and_ack_8259A(irq - I8259_IRQ_BASE); 45 mask_and_ack_8259A(irq - I8259_IRQ_BASE);
46} 46}
47 47
48static void end_i8259_irq(unsigned int irq)
49{
50 if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
51 enable_8259A_irq(irq - I8259_IRQ_BASE);
52}
53
54static struct irq_chip i8259_irq_type = { 48static struct irq_chip i8259_irq_type = {
55 .typename = "XT-PIC", 49 .typename = "XT-PIC",
56 .ack = ack_i8259_irq, 50 .ack = ack_i8259_irq,
57 .mask = disable_i8259_irq, 51 .mask = disable_i8259_irq,
58 .mask_ack = ack_i8259_irq, 52 .mask_ack = ack_i8259_irq,
59 .unmask = enable_i8259_irq, 53 .unmask = enable_i8259_irq,
60 .end = end_i8259_irq,
61}; 54};
62 55
63static int i8259_get_irq_number(int irq) 56static int i8259_get_irq_number(int irq)
@@ -92,7 +85,7 @@ void __init rockhopper_init_irq(void)
92 } 85 }
93 86
94 for (i = I8259_IRQ_BASE; i <= I8259_IRQ_LAST; i++) 87 for (i = I8259_IRQ_BASE; i <= I8259_IRQ_LAST; i++)
95 set_irq_chip(i, &i8259_irq_type); 88 set_irq_chip_and_handler(i, &i8259_irq_type, handle_level_irq);
96 89
97 setup_irq(I8259_SLAVE_IRQ, &i8259_slave_cascade); 90 setup_irq(I8259_SLAVE_IRQ, &i8259_slave_cascade);
98 91