alpha: use set_irq_chip and push down __do_IRQ to the machine types
Also kill superfluous IRQ_DISABLED initialization, since that's the
default state of the irq_desc[i].status field.
Tested-by: Michael Cree <mcree@orcon.net.nz>
Signed-off-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
diff --git a/arch/alpha/kernel/sys_marvel.c b/arch/alpha/kernel/sys_marvel.c
index 0bb3b5c..0d0699e 100644
--- a/arch/alpha/kernel/sys_marvel.c
+++ b/arch/alpha/kernel/sys_marvel.c
@@ -304,8 +304,8 @@
/* Set up the lsi irqs. */
for (i = 0; i < 128; ++i) {
- irq_desc[base + i].status = IRQ_DISABLED | IRQ_LEVEL;
- irq_desc[base + i].chip = lsi_ops;
+ irq_desc[base + i].status |= IRQ_LEVEL;
+ set_irq_chip_and_handler(base + i, lsi_ops, alpha_do_IRQ);
}
/* Disable the implemented irqs in hardware. */
@@ -318,8 +318,8 @@
/* Set up the msi irqs. */
for (i = 128; i < (128 + 512); ++i) {
- irq_desc[base + i].status = IRQ_DISABLED | IRQ_LEVEL;
- irq_desc[base + i].chip = msi_ops;
+ irq_desc[base + i].status |= IRQ_LEVEL;
+ set_irq_chip_and_handler(base + i, msi_ops, alpha_do_IRQ);
}
for (i = 0; i < 16; ++i)
@@ -336,8 +336,8 @@
/* Reserve the legacy irqs. */
for (i = 0; i < 16; ++i) {
- irq_desc[i].status = IRQ_DISABLED;
- irq_desc[i].chip = &marvel_legacy_irq_type;
+ set_irq_chip_and_handler(i, &marvel_legacy_irq_type,
+ alpha_do_IRQ);
}
/* Init the io7 irqs. */