summaryrefslogtreecommitdiff
path: root/arch/alpha/kernel/sys_rawhide.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-01-17 21:58:44 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2011-01-17 21:58:44 +0300
commitaf575e2d2e09517a8190f1b425453cc3e0102f6c (patch)
tree4be2556d0bb6d756a62b2682df3d3c648e4a77a6 /arch/alpha/kernel/sys_rawhide.c
parent584ef2cd70acb0e473ba51e1073c2c5c95a2d27a (diff)
parentf5de6ecc84b58ba0f394365eafc8681af7a4f73d (diff)
downloadlinux-af575e2d2e09517a8190f1b425453cc3e0102f6c.tar.xz
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6: alpha: fix WARN_ON in __local_bh_enable() alpha: fix breakage caused by df9ee29270 alpha: add GENERIC_HARDIRQS_NO__DO_IRQ to Kconfig alpha/osf_sys: remove unused MAX_SELECT_SECONDS alpha: change to new Makefile flag variables alpha: kill off alpha_do_IRQ alpha: irq clean up alpha: use set_irq_chip and push down __do_IRQ to the machine types
Diffstat (limited to 'arch/alpha/kernel/sys_rawhide.c')
-rw-r--r--arch/alpha/kernel/sys_rawhide.c27
1 files changed, 5 insertions, 22 deletions
diff --git a/arch/alpha/kernel/sys_rawhide.c b/arch/alpha/kernel/sys_rawhide.c
index 26c322bf89ee..6a51364dd1cc 100644
--- a/arch/alpha/kernel/sys_rawhide.c
+++ b/arch/alpha/kernel/sys_rawhide.c
@@ -121,28 +121,11 @@ rawhide_mask_and_ack_irq(unsigned int irq)
spin_unlock(&rawhide_irq_lock);
}
-static unsigned int
-rawhide_startup_irq(unsigned int irq)
-{
- rawhide_enable_irq(irq);
- return 0;
-}
-
-static void
-rawhide_end_irq(unsigned int irq)
-{
- if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
- rawhide_enable_irq(irq);
-}
-
static struct irq_chip rawhide_irq_type = {
.name = "RAWHIDE",
- .startup = rawhide_startup_irq,
- .shutdown = rawhide_disable_irq,
- .enable = rawhide_enable_irq,
- .disable = rawhide_disable_irq,
- .ack = rawhide_mask_and_ack_irq,
- .end = rawhide_end_irq,
+ .unmask = rawhide_enable_irq,
+ .mask = rawhide_disable_irq,
+ .mask_ack = rawhide_mask_and_ack_irq,
};
static void
@@ -194,8 +177,8 @@ rawhide_init_irq(void)
}
for (i = 16; i < 128; ++i) {
- irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
- irq_desc[i].chip = &rawhide_irq_type;
+ irq_to_desc(i)->status |= IRQ_LEVEL;
+ set_irq_chip_and_handler(i, &rawhide_irq_type, handle_level_irq);
}
init_i8259a_irqs();