diff options
Diffstat (limited to 'arch/alpha/kernel/irq_pyxis.c')
-rw-r--r-- | arch/alpha/kernel/irq_pyxis.c | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/arch/alpha/kernel/irq_pyxis.c b/arch/alpha/kernel/irq_pyxis.c index 9f603cfd440a..2863458c853e 100644 --- a/arch/alpha/kernel/irq_pyxis.c +++ b/arch/alpha/kernel/irq_pyxis.c | |||
@@ -40,21 +40,6 @@ pyxis_disable_irq(unsigned int irq) | |||
40 | pyxis_update_irq_hw(cached_irq_mask &= ~(1UL << (irq - 16))); | 40 | pyxis_update_irq_hw(cached_irq_mask &= ~(1UL << (irq - 16))); |
41 | } | 41 | } |
42 | 42 | ||
43 | static unsigned int | ||
44 | pyxis_startup_irq(unsigned int irq) | ||
45 | { | ||
46 | pyxis_enable_irq(irq); | ||
47 | return 0; | ||
48 | } | ||
49 | |||
50 | static void | ||
51 | pyxis_end_irq(unsigned int irq) | ||
52 | { | ||
53 | struct irq_desc *desc = irq_to_desc(irq); | ||
54 | if (desc || !(desc->status & (IRQ_DISABLED|IRQ_INPROGRESS))) | ||
55 | pyxis_enable_irq(irq); | ||
56 | } | ||
57 | |||
58 | static void | 43 | static void |
59 | pyxis_mask_and_ack_irq(unsigned int irq) | 44 | pyxis_mask_and_ack_irq(unsigned int irq) |
60 | { | 45 | { |
@@ -73,12 +58,9 @@ pyxis_mask_and_ack_irq(unsigned int irq) | |||
73 | 58 | ||
74 | static struct irq_chip pyxis_irq_type = { | 59 | static struct irq_chip pyxis_irq_type = { |
75 | .name = "PYXIS", | 60 | .name = "PYXIS", |
76 | .startup = pyxis_startup_irq, | 61 | .mask_ack = pyxis_mask_and_ack_irq, |
77 | .shutdown = pyxis_disable_irq, | 62 | .mask = pyxis_disable_irq, |
78 | .enable = pyxis_enable_irq, | 63 | .unmask = pyxis_enable_irq, |
79 | .disable = pyxis_disable_irq, | ||
80 | .ack = pyxis_mask_and_ack_irq, | ||
81 | .end = pyxis_end_irq, | ||
82 | }; | 64 | }; |
83 | 65 | ||
84 | void | 66 | void |
@@ -120,7 +102,7 @@ init_pyxis_irqs(unsigned long ignore_mask) | |||
120 | for (i = 16; i < 48; ++i) { | 102 | for (i = 16; i < 48; ++i) { |
121 | if ((ignore_mask >> i) & 1) | 103 | if ((ignore_mask >> i) & 1) |
122 | continue; | 104 | continue; |
123 | set_irq_chip_and_handler(i, &pyxis_irq_type, alpha_do_IRQ); | 105 | set_irq_chip_and_handler(i, &pyxis_irq_type, handle_level_irq); |
124 | irq_to_desc(i)->status |= IRQ_LEVEL; | 106 | irq_to_desc(i)->status |= IRQ_LEVEL; |
125 | } | 107 | } |
126 | 108 | ||