diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-01-26 00:07:44 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-01-26 00:07:44 +0000 |
commit | 38f0dc890f23f8de14abe63f60a9f9bf3be40271 (patch) | |
tree | 99c5b1e021cc51f059d55c7efa4b74f3f4d8a80d /arch/mips/kernel/irq.c | |
parent | 07ebee0bea931f0d373e40205c932cae6b00a86d (diff) |
Support for the NEC DDB Vrc-5074 evaluation board. Patches by
Geert Uytterhoeven (geert@linux-m68k.org).
Diffstat (limited to 'arch/mips/kernel/irq.c')
-rw-r--r-- | arch/mips/kernel/irq.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index c592503ff..88cdb7bf5 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c @@ -1,4 +1,4 @@ -/* $Id: irq.c,v 1.16 1999/09/28 22:25:46 ralf Exp $ +/* $Id: irq.c,v 1.17 1999/12/04 03:59:00 ralf Exp $ * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive @@ -29,6 +29,7 @@ #include <asm/mipsregs.h> #include <asm/system.h> #include <asm/sni.h> +#include <asm/nile4.h> /* * This contains the irq mask for both 8259A irq controllers, it's an @@ -72,7 +73,7 @@ static inline void unmask_irq(unsigned int irq) } } -void disable_irq(unsigned int irq_nr) +void i8259_disable_irq(unsigned int irq_nr) { unsigned long flags; @@ -81,7 +82,7 @@ void disable_irq(unsigned int irq_nr) restore_flags(flags); } -void enable_irq(unsigned int irq_nr) +void i8259_enable_irq(unsigned int irq_nr) { unsigned long flags; save_and_cli(flags); @@ -243,7 +244,10 @@ int i8259_setup_irq(int irq, struct irqaction * new) *p = new; if (!shared) { - unmask_irq(irq); + if (is_i8259_irq(irq)) + unmask_irq(irq); + else + nile4_enable_irq(irq_to_nile4(irq)); } restore_flags(flags); return 0; @@ -354,7 +358,7 @@ static int i8259_irq_cannonicalize(int irq) return ((irq == 2) ? 9 : irq); } -static void __init i8259_init(void) +void __init i8259_init(void) { /* Init master interrupt controller */ outb(0x11, 0x20); /* Start init sequence */ |