diff options
Diffstat (limited to 'arch/mips/vr41xx/nec-cmbvr4133/irq.c')
-rw-r--r-- | arch/mips/vr41xx/nec-cmbvr4133/irq.c | 27 |
1 files changed, 4 insertions, 23 deletions
diff --git a/arch/mips/vr41xx/nec-cmbvr4133/irq.c b/arch/mips/vr41xx/nec-cmbvr4133/irq.c index 2483487344c2..128ed8d6f111 100644 --- a/arch/mips/vr41xx/nec-cmbvr4133/irq.c +++ b/arch/mips/vr41xx/nec-cmbvr4133/irq.c | |||
@@ -30,17 +30,6 @@ extern void init_8259A(int hoge); | |||
30 | 30 | ||
31 | extern int vr4133_rockhopper; | 31 | extern int vr4133_rockhopper; |
32 | 32 | ||
33 | static unsigned int startup_i8259_irq(unsigned int irq) | ||
34 | { | ||
35 | enable_8259A_irq(irq - I8259_IRQ_BASE); | ||
36 | return 0; | ||
37 | } | ||
38 | |||
39 | static void shutdown_i8259_irq(unsigned int irq) | ||
40 | { | ||
41 | disable_8259A_irq(irq - I8259_IRQ_BASE); | ||
42 | } | ||
43 | |||
44 | static void enable_i8259_irq(unsigned int irq) | 33 | static void enable_i8259_irq(unsigned int irq) |
45 | { | 34 | { |
46 | enable_8259A_irq(irq - I8259_IRQ_BASE); | 35 | enable_8259A_irq(irq - I8259_IRQ_BASE); |
@@ -56,20 +45,12 @@ static void ack_i8259_irq(unsigned int irq) | |||
56 | mask_and_ack_8259A(irq - I8259_IRQ_BASE); | 45 | mask_and_ack_8259A(irq - I8259_IRQ_BASE); |
57 | } | 46 | } |
58 | 47 | ||
59 | static void end_i8259_irq(unsigned int irq) | ||
60 | { | ||
61 | if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS))) | ||
62 | enable_8259A_irq(irq - I8259_IRQ_BASE); | ||
63 | } | ||
64 | |||
65 | static struct irq_chip i8259_irq_type = { | 48 | static struct irq_chip i8259_irq_type = { |
66 | .typename = "XT-PIC", | 49 | .typename = "XT-PIC", |
67 | .startup = startup_i8259_irq, | ||
68 | .shutdown = shutdown_i8259_irq, | ||
69 | .enable = enable_i8259_irq, | ||
70 | .disable = disable_i8259_irq, | ||
71 | .ack = ack_i8259_irq, | 50 | .ack = ack_i8259_irq, |
72 | .end = end_i8259_irq, | 51 | .mask = disable_i8259_irq, |
52 | .mask_ack = ack_i8259_irq, | ||
53 | .unmask = enable_i8259_irq, | ||
73 | }; | 54 | }; |
74 | 55 | ||
75 | static int i8259_get_irq_number(int irq) | 56 | static int i8259_get_irq_number(int irq) |
@@ -104,7 +85,7 @@ void __init rockhopper_init_irq(void) | |||
104 | } | 85 | } |
105 | 86 | ||
106 | for (i = I8259_IRQ_BASE; i <= I8259_IRQ_LAST; i++) | 87 | for (i = I8259_IRQ_BASE; i <= I8259_IRQ_LAST; i++) |
107 | irq_desc[i].chip = &i8259_irq_type; | 88 | set_irq_chip_and_handler(i, &i8259_irq_type, handle_level_irq); |
108 | 89 | ||
109 | setup_irq(I8259_SLAVE_IRQ, &i8259_slave_cascade); | 90 | setup_irq(I8259_SLAVE_IRQ, &i8259_slave_cascade); |
110 | 91 | ||