summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips/baget/irq.c9
-rw-r--r--arch/mips/baget/vacserial.c6
-rw-r--r--arch/mips/config.in19
-rw-r--r--arch/mips/defconfig3
-rw-r--r--arch/mips/defconfig-atlas24
-rw-r--r--arch/mips/defconfig-cobalt3
-rw-r--r--arch/mips/defconfig-decstation17
-rw-r--r--arch/mips/defconfig-ip223
-rw-r--r--arch/mips/defconfig-malta24
-rw-r--r--arch/mips/defconfig-orion3
-rw-r--r--arch/mips/defconfig-rm2005
-rw-r--r--arch/mips/kernel/irq.c10
-rw-r--r--arch/mips/mips-boards/atlas/atlas_int.c9
-rw-r--r--arch/mips/mips-boards/malta/malta_int.c11
-rw-r--r--arch/mips/orion/irq.c11
-rw-r--r--arch/mips/sgi/kernel/indy_int.c11
-rw-r--r--arch/mips64/sgi-ip22/ip22-int.c10
-rw-r--r--arch/mips64/sgi-ip27/ip27-irq.c9
-rw-r--r--include/asm-mips/irq.h16
-rw-r--r--include/asm-mips64/irq.h19
20 files changed, 125 insertions, 97 deletions
diff --git a/arch/mips/baget/irq.c b/arch/mips/baget/irq.c
index 03d68ee17..733f52695 100644
--- a/arch/mips/baget/irq.c
+++ b/arch/mips/baget/irq.c
@@ -4,8 +4,6 @@
* Copyright (C) 1998 Vladimir Roganov & Gleb Raiko
* Code (mostly sleleton and comments) derived from DECstation IRQ
* handling.
- *
- * $Id: irq.c,v 1.6 2000/02/04 07:40:23 ralf Exp $
*/
#include <linux/errno.h>
#include <linux/init.h>
@@ -359,13 +357,6 @@ void free_irq(unsigned int irq, void *dev_id)
printk("Trying to free free IRQ%d\n",irq);
}
-static int baget_irq_canonicalize(int irq)
-{
- return irq;
-}
-
-int (*irq_cannonicalize)(int irq) = baget_irq_canonicalize;
-
unsigned long probe_irq_on (void)
{
/* TODO */
diff --git a/arch/mips/baget/vacserial.c b/arch/mips/baget/vacserial.c
index 1c2918e5b..dda980e0e 100644
--- a/arch/mips/baget/vacserial.c
+++ b/arch/mips/baget/vacserial.c
@@ -1,4 +1,4 @@
-/* $Id: vacserial.c,v 1.3 1999/08/17 22:18:37 ralf Exp $
+/*
* vacserial.c: VAC UART serial driver
* This code stealed and adopted from linux/drivers/char/serial.c
* See that for author info
@@ -1300,7 +1300,7 @@ static int set_serial_info(struct async_struct * info,
goto check_and_exit;
}
- new_serial.irq = irq_cannonicalize(new_serial.irq);
+ new_serial.irq = new_serial.irq;
if ((new_serial.irq >= NR_IRQS) || (new_serial.port > 0xffff) ||
(new_serial.baud_base == 0) || (new_serial.type < PORT_UNKNOWN) ||
@@ -2426,7 +2426,7 @@ int __init rs_init(void)
state->icount.rx = state->icount.tx = 0;
state->icount.frame = state->icount.parity = 0;
state->icount.overrun = state->icount.brk = 0;
- state->irq = irq_cannonicalize(state->irq);
+ state->irq = state->irq;
if (check_region(state->port,8))
continue;
if (state->flags & ASYNC_BOOT_AUTOCONF)
diff --git a/arch/mips/config.in b/arch/mips/config.in
index 7952ac879..a790a3b52 100644
--- a/arch/mips/config.in
+++ b/arch/mips/config.in
@@ -40,6 +40,7 @@ unset CONFIG_PCI
unset CONFIG_MIPS_JAZZ
unset CONFIG_VIDEO_G364
unset CONFIG_PC_KEYB
+unset CONFIG_I8259
define_bool CONFIG_SBUS n
@@ -50,6 +51,7 @@ if [ "$CONFIG_MIPS_MAGNUM_4000" = "y" -o \
"$CONFIG_OLIVETTI_M700" = "y" ]; then
define_bool CONFIG_ARC32 y
define_bool CONFIG_BOARD_SCACHE y
+ define_bool CONFIG_I8259 y
define_bool CONFIG_ISA y
define_bool CONFIG_FB y
define_bool CONFIG_FB_G364 y
@@ -58,6 +60,7 @@ if [ "$CONFIG_MIPS_MAGNUM_4000" = "y" -o \
fi
if [ "$CONFIG_ACER_PICA_61" = "y" ]; then
define_bool CONFIG_ARC32 y
+ define_bool CONFIG_I8259 y
define_bool CONFIG_ISA y
define_bool CONFIG_MIPS_JAZZ y
define_bool CONFIG_PC_KEYB y
@@ -69,8 +72,12 @@ if [ "$CONFIG_COBALT_MICRO_SERVER" = "y" ]; then
define_bool CONFIG_COBALT_SERIAL y
define_bool CONFIG_PCI y
fi
-if [ "$CONFIG_MIPS_ATLAS" = "y" -o \
- "$CONFIG_MIPS_MALTA" = "y" ]; then
+if [ "$CONFIG_MIPS_ATLAS" = "y" ]; then
+ define_bool CONFIG_PCI y
+ define_bool CONFIG_ISA n
+fi
+if [ "$CONFIG_MIPS_MALTA" = "y" ]; then
+ define_bool CONFIG_I8259 y
define_bool CONFIG_PCI y
define_bool CONFIG_ISA n
fi
@@ -82,11 +89,13 @@ if [ "$CONFIG_SGI_IP22" = "y" ]; then
fi
if [ "$CONFIG_SNI_RM200_PCI" = "y" ]; then
define_bool CONFIG_ARC32 y
- define_bool CONFIG_PCI y
+ define_bool CONFIG_I8259 y
define_bool CONFIG_ISA y
define_bool CONFIG_PC_KEYB y
+ define_bool CONFIG_PCI y
fi
if [ "$CONFIG_DDB5074" = "y" ]; then
+ define_bool CONFIG_I8259 y
define_bool CONFIG_ISA y
define_bool CONFIG_PCI y
fi
@@ -98,6 +107,10 @@ fi
if [ "$CONFIG_PCI" != "y" ]; then
define_bool CONFIG_PCI n
fi
+
+if [ "$CONFIG_I8259" != "y" ]; then
+ define_bool CONFIG_I8259 n
+fi
endmenu
mainmenu_option next_comment
diff --git a/arch/mips/defconfig b/arch/mips/defconfig
index 9b3379fb5..1cf11e48b 100644
--- a/arch/mips/defconfig
+++ b/arch/mips/defconfig
@@ -17,6 +17,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_DECSTATION is not set
# CONFIG_DDB5074 is not set
# CONFIG_ORION is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
# CONFIG_MIPS_MAGNUM_4000 is not set
# CONFIG_OLIVETTI_M700 is not set
CONFIG_SGI_IP22=y
@@ -28,6 +30,7 @@ CONFIG_PC_KEYB=y
CONFIG_SGI=y
# CONFIG_ISA is not set
# CONFIG_PCI is not set
+# CONFIG_I8259 is not set
#
# Loadable module support
diff --git a/arch/mips/defconfig-atlas b/arch/mips/defconfig-atlas
index 336085079..2b66c0ff9 100644
--- a/arch/mips/defconfig-atlas
+++ b/arch/mips/defconfig-atlas
@@ -24,8 +24,10 @@ CONFIG_MIPS_ATLAS=y
# CONFIG_SGI_IP22 is not set
# CONFIG_SNI_RM200_PCI is not set
# CONFIG_SBUS is not set
+CONFIG_PCI=y
# CONFIG_ISA is not set
-# CONFIG_PCI is not set
+# CONFIG_ISA is not set
+# CONFIG_I8259 is not set
#
# Loadable module support
@@ -60,6 +62,7 @@ CONFIG_BINFMT_IRIX=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_NET=y
+# CONFIG_PCI_NAMES is not set
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_SYSCTL is not set
@@ -182,6 +185,7 @@ CONFIG_SD_EXTRA_DEVS=40
#
# SCSI low-level drivers
#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
@@ -193,6 +197,7 @@ CONFIG_SD_EXTRA_DEVS=40
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
@@ -205,13 +210,19 @@ CONFIG_SD_EXTRA_DEVS=40
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_NCR53C7xx is not set
+# CONFIG_SCSI_NCR53C8XX is not set
+# CONFIG_SCSI_SYM53C8XX is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
+# CONFIG_SCSI_QLOGIC_ISP is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_SIM710 is not set
# CONFIG_SCSI_SYM53C416 is not set
+# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_DEBUG is not set
@@ -220,6 +231,7 @@ CONFIG_SD_EXTRA_DEVS=40
# I2O device support
#
# CONFIG_I2O is not set
+# CONFIG_I2O_PCI is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
@@ -285,6 +297,16 @@ CONFIG_NET_ETHERNET=y
# CONFIG_WAN is not set
#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Old CD-ROM drivers (not SCSI, not IDE)
+#
+# CONFIG_CD_NO_IDESCSI is not set
+
+#
# Character devices
#
# CONFIG_VT is not set
diff --git a/arch/mips/defconfig-cobalt b/arch/mips/defconfig-cobalt
index 57dd72f33..35d3037be 100644
--- a/arch/mips/defconfig-cobalt
+++ b/arch/mips/defconfig-cobalt
@@ -18,6 +18,8 @@ CONFIG_COBALT_28=y
# CONFIG_DECSTATION is not set
# CONFIG_DDB5074 is not set
# CONFIG_ORION is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
# CONFIG_MIPS_MAGNUM_4000 is not set
# CONFIG_OLIVETTI_M700 is not set
# CONFIG_SGI_IP22 is not set
@@ -29,6 +31,7 @@ CONFIG_COBALT_LCD=y
CONFIG_COBALT_SERIAL=y
CONFIG_PCI=y
# CONFIG_ISA is not set
+# CONFIG_I8259 is not set
#
# Loadable module support
diff --git a/arch/mips/defconfig-decstation b/arch/mips/defconfig-decstation
index 882182fff..5da3de84b 100644
--- a/arch/mips/defconfig-decstation
+++ b/arch/mips/defconfig-decstation
@@ -1,5 +1,5 @@
#
-# Automatically generated by make menuconfig: don't edit
+# Automatically generated make config: don't edit
#
#
@@ -17,6 +17,8 @@ CONFIG_EXPERIMENTAL=y
CONFIG_DECSTATION=y
# CONFIG_DDB5074 is not set
# CONFIG_ORION is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
# CONFIG_MIPS_MAGNUM_4000 is not set
# CONFIG_OLIVETTI_M700 is not set
# CONFIG_SGI_IP22 is not set
@@ -24,6 +26,7 @@ CONFIG_DECSTATION=y
# CONFIG_SBUS is not set
# CONFIG_ISA is not set
# CONFIG_PCI is not set
+# CONFIG_I8259 is not set
#
# Loadable module support
@@ -122,6 +125,10 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_IPV6 is not set
# CONFIG_KHTTPD is not set
# CONFIG_ATM is not set
+
+#
+#
+#
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_DECNET is not set
@@ -143,11 +150,19 @@ CONFIG_IP_PNP_BOOTP=y
# SCSI support
#
CONFIG_SCSI=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
CONFIG_BLK_DEV_SD=y
CONFIG_SD_EXTRA_DEVS=40
# CONFIG_CHR_DEV_ST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
# CONFIG_SCSI_DEBUG_QUEUES is not set
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
diff --git a/arch/mips/defconfig-ip22 b/arch/mips/defconfig-ip22
index 9b3379fb5..1cf11e48b 100644
--- a/arch/mips/defconfig-ip22
+++ b/arch/mips/defconfig-ip22
@@ -17,6 +17,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_DECSTATION is not set
# CONFIG_DDB5074 is not set
# CONFIG_ORION is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
# CONFIG_MIPS_MAGNUM_4000 is not set
# CONFIG_OLIVETTI_M700 is not set
CONFIG_SGI_IP22=y
@@ -28,6 +30,7 @@ CONFIG_PC_KEYB=y
CONFIG_SGI=y
# CONFIG_ISA is not set
# CONFIG_PCI is not set
+# CONFIG_I8259 is not set
#
# Loadable module support
diff --git a/arch/mips/defconfig-malta b/arch/mips/defconfig-malta
index 5ded67d46..0d85f7c70 100644
--- a/arch/mips/defconfig-malta
+++ b/arch/mips/defconfig-malta
@@ -24,8 +24,10 @@ CONFIG_MIPS_MALTA=y
# CONFIG_SGI_IP22 is not set
# CONFIG_SNI_RM200_PCI is not set
# CONFIG_SBUS is not set
+CONFIG_I8259=y
+CONFIG_PCI=y
+# CONFIG_ISA is not set
# CONFIG_ISA is not set
-# CONFIG_PCI is not set
#
# Loadable module support
@@ -58,6 +60,7 @@ CONFIG_ELF_KERNEL=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_NET=y
+# CONFIG_PCI_NAMES is not set
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_SYSCTL is not set
@@ -180,6 +183,7 @@ CONFIG_SD_EXTRA_DEVS=40
#
# SCSI low-level drivers
#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
@@ -191,6 +195,7 @@ CONFIG_SD_EXTRA_DEVS=40
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
@@ -203,13 +208,19 @@ CONFIG_SD_EXTRA_DEVS=40
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_NCR53C7xx is not set
+# CONFIG_SCSI_NCR53C8XX is not set
+# CONFIG_SCSI_SYM53C8XX is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
+# CONFIG_SCSI_QLOGIC_ISP is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_SIM710 is not set
# CONFIG_SCSI_SYM53C416 is not set
+# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_DEBUG is not set
@@ -218,6 +229,7 @@ CONFIG_SD_EXTRA_DEVS=40
# I2O device support
#
# CONFIG_I2O is not set
+# CONFIG_I2O_PCI is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
@@ -283,6 +295,16 @@ CONFIG_NET_ETHERNET=y
# CONFIG_WAN is not set
#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Old CD-ROM drivers (not SCSI, not IDE)
+#
+# CONFIG_CD_NO_IDESCSI is not set
+
+#
# Character devices
#
# CONFIG_VT is not set
diff --git a/arch/mips/defconfig-orion b/arch/mips/defconfig-orion
index 01dc2b78b..ba81eaa03 100644
--- a/arch/mips/defconfig-orion
+++ b/arch/mips/defconfig-orion
@@ -17,6 +17,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_DECSTATION is not set
# CONFIG_DDB5074 is not set
CONFIG_ORION=y
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
# CONFIG_MIPS_MAGNUM_4000 is not set
# CONFIG_OLIVETTI_M700 is not set
# CONFIG_SGI_IP22 is not set
@@ -24,6 +26,7 @@ CONFIG_ORION=y
# CONFIG_SBUS is not set
# CONFIG_ISA is not set
# CONFIG_PCI is not set
+# CONFIG_I8259 is not set
#
# Loadable module support
diff --git a/arch/mips/defconfig-rm200 b/arch/mips/defconfig-rm200
index 88c3ab1d5..e7ebeca0a 100644
--- a/arch/mips/defconfig-rm200
+++ b/arch/mips/defconfig-rm200
@@ -17,15 +17,18 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_DECSTATION is not set
# CONFIG_DDB5074 is not set
# CONFIG_ORION is not set
+# CONFIG_MIPS_ATLAS is not set
+# CONFIG_MIPS_MALTA is not set
# CONFIG_MIPS_MAGNUM_4000 is not set
# CONFIG_OLIVETTI_M700 is not set
# CONFIG_SGI_IP22 is not set
CONFIG_SNI_RM200_PCI=y
# CONFIG_SBUS is not set
CONFIG_ARC32=y
-CONFIG_PCI=y
+CONFIG_I8259=y
CONFIG_ISA=y
CONFIG_PC_KEYB=y
+CONFIG_PCI=y
#
# Loadable module support
diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c
index 54319c95a..97226bd59 100644
--- a/arch/mips/kernel/irq.c
+++ b/arch/mips/kernel/irq.c
@@ -369,13 +369,6 @@ int probe_irq_off (unsigned long irqs)
return i;
}
-int (*irq_cannonicalize)(int irq);
-
-static int i8259_irq_cannonicalize(int irq)
-{
- return ((irq == 2) ? 9 : irq);
-}
-
void __init i8259_init(void)
{
/* Init master interrupt controller */
@@ -398,9 +391,6 @@ void __init i8259_init(void)
void __init init_IRQ(void)
{
- irq_cannonicalize = i8259_irq_cannonicalize;
/* i8259_init(); */
irq_setup();
}
-
-EXPORT_SYMBOL(irq_cannonicalize);
diff --git a/arch/mips/mips-boards/atlas/atlas_int.c b/arch/mips/mips-boards/atlas/atlas_int.c
index 843ad2459..68a14dd34 100644
--- a/arch/mips/mips-boards/atlas/atlas_int.c
+++ b/arch/mips/mips-boards/atlas/atlas_int.c
@@ -187,17 +187,8 @@ void free_irq(unsigned int irq, void *dev_id)
}
-int (*irq_cannonicalize)(int irq);
-
-static int atlas_irq_cannonicalize(int irq)
-{
- return irq; /* Sane hardware, sane code ... */
-}
-
-
void __init init_IRQ(void)
{
- irq_cannonicalize = atlas_irq_cannonicalize;
irq_setup();
}
diff --git a/arch/mips/mips-boards/malta/malta_int.c b/arch/mips/mips-boards/malta/malta_int.c
index d00d68752..6aa55118d 100644
--- a/arch/mips/mips-boards/malta/malta_int.c
+++ b/arch/mips/mips-boards/malta/malta_int.c
@@ -252,22 +252,11 @@ void free_irq(unsigned int irq, void *dev_id)
printk("Trying to free IRQ%d\n",irq);
}
-
-int (*irq_cannonicalize)(int irq);
-
-static int malta_irq_cannonicalize(int irq)
-{
- return ((irq == 2) ? 9 : irq);
-}
-
-
void __init init_IRQ(void)
{
- irq_cannonicalize = malta_irq_cannonicalize;
irq_setup();
}
-
static inline int get_int(int *irq)
{
/*
diff --git a/arch/mips/orion/irq.c b/arch/mips/orion/irq.c
index b8fc38686..8be436370 100644
--- a/arch/mips/orion/irq.c
+++ b/arch/mips/orion/irq.c
@@ -277,18 +277,7 @@ int probe_irq_off (unsigned long irqs)
return 0;
}
-int (*irq_cannonicalize)(int irq);
-
-int orion_irq_cannonicalize(int i)
-{
- return i;
-}
-
void __init init_IRQ(void)
{
-
- irq_cannonicalize = orion_irq_cannonicalize;
set_except_vector(0, orionIRQ);
}
-
-EXPORT_SYMBOL(irq_cannonicalize);
diff --git a/arch/mips/sgi/kernel/indy_int.c b/arch/mips/sgi/kernel/indy_int.c
index 2e104bf79..1ad77fc18 100644
--- a/arch/mips/sgi/kernel/indy_int.c
+++ b/arch/mips/sgi/kernel/indy_int.c
@@ -1,5 +1,4 @@
-/* $Id: indy_int.c,v 1.18 2000/03/02 02:36:50 ralf Exp $
- *
+/*
* indy_int.c: Routines for generic manipulation of the INT[23] ASIC
* found on INDY workstations..
*
@@ -428,16 +427,8 @@ void free_irq(unsigned int irq, void *dev_id)
printk("Trying to free free IRQ%d\n",irq);
}
-int (*irq_cannonicalize)(int irq);
-
-static int indy_irq_cannonicalize(int irq)
-{
- return irq; /* Sane hardware, sane code ... */
-}
-
void __init init_IRQ(void)
{
- irq_cannonicalize = indy_irq_cannonicalize;
irq_setup();
}
diff --git a/arch/mips64/sgi-ip22/ip22-int.c b/arch/mips64/sgi-ip22/ip22-int.c
index 19c61e6dc..70a5fdf3a 100644
--- a/arch/mips64/sgi-ip22/ip22-int.c
+++ b/arch/mips64/sgi-ip22/ip22-int.c
@@ -1,5 +1,4 @@
-/* $Id: ip22-int.c,v 1.5 2000/03/02 02:36:50 ralf Exp $
- *
+/*
* indy_int.c: Routines for generic manipulation of the INT[23] ASIC
* found on INDY workstations..
*
@@ -65,7 +64,6 @@ static char lc2msk_to_irqnr[256];
static char lc3msk_to_irqnr[256];
extern asmlinkage void indyIRQ(void);
-int (*irq_cannonicalize)(int irq);
#ifdef CONFIG_REMOTE_DEBUG
extern void rs_kgdb_hook(int);
@@ -607,13 +605,7 @@ static inline void sgint_init(void)
#endif
}
-static int indy_irq_cannonicalize(int irq)
-{
- return irq; /* Sane hardware, sane code ... */
-}
-
void __init init_IRQ(void)
{
- irq_cannonicalize = indy_irq_cannonicalize;
sgint_init();
}
diff --git a/arch/mips64/sgi-ip27/ip27-irq.c b/arch/mips64/sgi-ip27/ip27-irq.c
index ead444bb5..a9a7b7153 100644
--- a/arch/mips64/sgi-ip27/ip27-irq.c
+++ b/arch/mips64/sgi-ip27/ip27-irq.c
@@ -61,7 +61,6 @@
extern asmlinkage void ip27_irq(void);
extern int irq_to_bus[], irq_to_slot[], bus_to_cpu[];
-int (*irq_cannonicalize)(int irq);
int intr_connect_level(int cpu, int bit);
int intr_disconnect_level(int cpu, int bit);
@@ -392,19 +391,11 @@ int probe_irq_off (unsigned long irqs)
return 0;
}
-static int indy_irq_cannonicalize(int irq)
-{
- return irq; /* Sane hardware, sane code ... */
-}
-
void __init init_IRQ(void)
{
- irq_cannonicalize = indy_irq_cannonicalize;
-
set_except_vector(0, ip27_irq);
}
-
#ifdef CONFIG_SMP
/*
diff --git a/include/asm-mips/irq.h b/include/asm-mips/irq.h
index c7bafd3c8..c42b3b815 100644
--- a/include/asm-mips/irq.h
+++ b/include/asm-mips/irq.h
@@ -1,20 +1,28 @@
-/* $Id: irq.h,v 1.6 2000/01/26 00:07:45 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
* for more details.
*
* Copyright (C) 1994 by Waldorf GMBH, written by Ralf Baechle
- * Copyright (C) 1995, 1996, 1997, 1998 by Ralf Baechle
+ * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle
*/
#ifndef _ASM_IRQ_H
#define _ASM_IRQ_H
+#include <linux/config.h>
+
#define NR_IRQS 64
#define TIMER_IRQ 0
-extern int (*irq_cannonicalize)(int irq);
+#ifdef CONFIG_I8259
+static inline int irq_cannonicalize(int irq)
+{
+ return ((irq == 2) ? 9 : irq);
+}
+#else
+#define irq_cannonicalize(irq) (irq) /* Sane hardware, sane code ... */
+#endif
struct irqaction;
extern int i8259_setup_irq(int irq, struct irqaction * new);
diff --git a/include/asm-mips64/irq.h b/include/asm-mips64/irq.h
index 031955635..719667e0f 100644
--- a/include/asm-mips64/irq.h
+++ b/include/asm-mips64/irq.h
@@ -1,21 +1,30 @@
-/* $Id$
- *
+/*
* 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
* for more details.
*
* Copyright (C) 1994 by Waldorf GMBH, written by Ralf Baechle
- * Copyright (C) 1995 - 1999 by Ralf Baechle
- * Copyright (C) 1999 Silicon Graphics, Inc.
+ * Copyright (C) 1995, 96, 97, 98, 1999, 2000 by Ralf Baechle
+ * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
*/
#ifndef _ASM_IRQ_H
#define _ASM_IRQ_H
+#include <linux/config.h>
+
#define NR_IRQS 256
#define TIMER_IRQ 0
-extern int (*irq_cannonicalize)(int irq);
+#ifdef CONFIG_I8259
+static inline int irq_cannonicalize(int irq)
+{
+ return ((irq == 2) ? 9 : irq);
+}
+#else
+#define irq_cannonicalize(irq) (irq) /* Sane hardware, sane code ... */
+#endif
+
struct irqaction;
extern int i8259_setup_irq(int irq, struct irqaction * new);