aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/vr41xx
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
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')
-rw-r--r--arch/mips/vr41xx/Kconfig5
-rw-r--r--arch/mips/vr41xx/nec-cmbvr4133/irq.c9
2 files changed, 1 insertions, 13 deletions
diff --git a/arch/mips/vr41xx/Kconfig b/arch/mips/vr41xx/Kconfig
index c8dfd8092cab..92f41f6f934a 100644
--- a/arch/mips/vr41xx/Kconfig
+++ b/arch/mips/vr41xx/Kconfig
@@ -6,7 +6,6 @@ config CASIO_E55
6 select ISA 6 select ISA
7 select SYS_SUPPORTS_32BIT_KERNEL 7 select SYS_SUPPORTS_32BIT_KERNEL
8 select SYS_SUPPORTS_LITTLE_ENDIAN 8 select SYS_SUPPORTS_LITTLE_ENDIAN
9 select GENERIC_HARDIRQS_NO__DO_IRQ
10 9
11config IBM_WORKPAD 10config IBM_WORKPAD
12 bool "Support for IBM WorkPad z50" 11 bool "Support for IBM WorkPad z50"
@@ -16,7 +15,6 @@ config IBM_WORKPAD
16 select ISA 15 select ISA
17 select SYS_SUPPORTS_32BIT_KERNEL 16 select SYS_SUPPORTS_32BIT_KERNEL
18 select SYS_SUPPORTS_LITTLE_ENDIAN 17 select SYS_SUPPORTS_LITTLE_ENDIAN
19 select GENERIC_HARDIRQS_NO__DO_IRQ
20 18
21config NEC_CMBVR4133 19config NEC_CMBVR4133
22 bool "Support for NEC CMB-VR4133" 20 bool "Support for NEC CMB-VR4133"
@@ -41,7 +39,6 @@ config TANBAC_TB022X
41 select IRQ_CPU 39 select IRQ_CPU
42 select SYS_SUPPORTS_32BIT_KERNEL 40 select SYS_SUPPORTS_32BIT_KERNEL
43 select SYS_SUPPORTS_LITTLE_ENDIAN 41 select SYS_SUPPORTS_LITTLE_ENDIAN
44 select GENERIC_HARDIRQS_NO__DO_IRQ
45 help 42 help
46 The TANBAC VR4131 multichip module(TB0225) and 43 The TANBAC VR4131 multichip module(TB0225) and
47 the TANBAC VR4131DIMM(TB0229) are MIPS-based platforms 44 the TANBAC VR4131DIMM(TB0229) are MIPS-based platforms
@@ -74,7 +71,6 @@ config VICTOR_MPC30X
74 select IRQ_CPU 71 select IRQ_CPU
75 select SYS_SUPPORTS_32BIT_KERNEL 72 select SYS_SUPPORTS_32BIT_KERNEL
76 select SYS_SUPPORTS_LITTLE_ENDIAN 73 select SYS_SUPPORTS_LITTLE_ENDIAN
77 select GENERIC_HARDIRQS_NO__DO_IRQ
78 74
79config ZAO_CAPCELLA 75config ZAO_CAPCELLA
80 bool "Support for ZAO Networks Capcella" 76 bool "Support for ZAO Networks Capcella"
@@ -84,7 +80,6 @@ config ZAO_CAPCELLA
84 select IRQ_CPU 80 select IRQ_CPU
85 select SYS_SUPPORTS_32BIT_KERNEL 81 select SYS_SUPPORTS_32BIT_KERNEL
86 select SYS_SUPPORTS_LITTLE_ENDIAN 82 select SYS_SUPPORTS_LITTLE_ENDIAN
87 select GENERIC_HARDIRQS_NO__DO_IRQ
88 83
89config PCI_VR41XX 84config PCI_VR41XX
90 bool "Add PCI control unit support of NEC VR4100 series" 85 bool "Add PCI control unit support of NEC VR4100 series"
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