diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1997-09-12 01:29:55 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1997-09-12 01:29:55 +0000 |
commit | 545f435ebcfd94a1e7c20b46efe81b4d6ac4e698 (patch) | |
tree | e9ce4bc598d06374bda906f18365984bf22a526a /arch/mips/kernel/irq.c | |
parent | 4291a610eef89d0d5c69d9a10ee6560e1aa36c74 (diff) |
Merge with Linux 2.1.55. More bugfixes and goodies from my private
CVS archive.
Diffstat (limited to 'arch/mips/kernel/irq.c')
-rw-r--r-- | arch/mips/kernel/irq.c | 34 |
1 files changed, 5 insertions, 29 deletions
diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index b2d112373..89ff7a3b0 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c @@ -1,17 +1,10 @@ /* - * linux/arch/mips/kernel/irq.c + * Code to handle x86 style IRQs plus some generic interrupt stuff. * - * Copyright (C) 1992 Linus Torvalds + * Copyright (C) 1992 Linus Torvalds + * Copyright (C) 1994, 1995, 1996, 1997 Ralf Baechle * - * This file contains the code used by various IRQ handling routines: - * asking for different IRQ's should be done through these routines - * instead of just grabbing them. Thus setups with different IRQ numbers - * shouldn't result in any weird surprises, and installing new handlers - * should be easier. - * - * Mips support by Ralf Baechle and Andreas Busse - * - * $Id: irq.c,v 1.2 1997/07/01 08:59:07 ralf Exp $ + * $Id: irq.c,v 1.4 1997/09/11 20:35:50 ralf Exp $ */ #include <linux/config.h> #include <linux/errno.h> @@ -30,13 +23,9 @@ #include <asm/bootinfo.h> #include <asm/io.h> #include <asm/irq.h> -#include <asm/jazz.h> #include <asm/mipsregs.h> #include <asm/system.h> #include <asm/vector.h> -#ifdef CONFIG_SGI -#include <asm/sgialib.h> -#endif unsigned char cache_21 = 0xff; unsigned char cache_A1 = 0xff; @@ -51,9 +40,6 @@ unsigned long spurious_count = 0; static inline void mask_irq(unsigned int irq_nr) { unsigned char mask; - - if (irq_nr >= 16) - return; mask = 1 << (irq_nr & 7); if (irq_nr < 8) { @@ -69,9 +55,6 @@ static inline void unmask_irq(unsigned int irq_nr) { unsigned char mask; - if (irq_nr >= 16) - return; - mask = ~(1 << (irq_nr & 7)); if (irq_nr < 8) { cache_21 &= mask; @@ -139,13 +122,6 @@ int get_irq_list(char *buf) atomic_t __mips_bh_counter; -#ifdef __SMP__ -#error Send superfluous SMP boxes to ralf@uni-koblenz.de -#else -#define irq_enter(cpu, irq) (++local_irq_count[cpu]) -#define irq_exit(cpu, irq) (--local_irq_count[cpu]) -#endif - /* * do_IRQ handles IRQ's that have been installed without the * SA_INTERRUPT flag: it uses the full signal-handling return @@ -255,7 +231,7 @@ int request_irq(unsigned int irq, int retval; struct irqaction * action; - if (irq > 31) + if (irq >= 32) return -EINVAL; if (!handler) return -EINVAL; |