summaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/irq.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1997-09-12 01:29:55 +0000
committerRalf Baechle <ralf@linux-mips.org>1997-09-12 01:29:55 +0000
commit545f435ebcfd94a1e7c20b46efe81b4d6ac4e698 (patch)
treee9ce4bc598d06374bda906f18365984bf22a526a /arch/mips/kernel/irq.c
parent4291a610eef89d0d5c69d9a10ee6560e1aa36c74 (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.c34
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;