summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2001-06-04 20:18:52 +0000
committerRalf Baechle <ralf@linux-mips.org>2001-06-04 20:18:52 +0000
commite4598d1f9097360d265a55f468db81d751e29a1d (patch)
treeb4ef29280050a9f3dca1a6607bf7ca05a5171a04
parenta3c52289fff6f432869975a9d47a95d2d2fca323 (diff)
Blind attempt at fixing DEC support ...
-rw-r--r--arch/mips/dec/irq.c40
-rw-r--r--arch/mips/dec/setup.c43
2 files changed, 39 insertions, 44 deletions
diff --git a/arch/mips/dec/irq.c b/arch/mips/dec/irq.c
index 2f1951887..ce1ccb994 100644
--- a/arch/mips/dec/irq.c
+++ b/arch/mips/dec/irq.c
@@ -25,6 +25,15 @@
#include <asm/dec/interrupts.h>
+extern void dec_init_kn01(void);
+extern void dec_init_kn230(void);
+extern void dec_init_kn02(void);
+extern void dec_init_kn02ba(void);
+extern void dec_init_kn02ca(void);
+extern void dec_init_kn03(void);
+
+extern asmlinkage void decstation_handle_int(void);
+
unsigned long spurious_count = 0;
static inline void mask_irq(unsigned int irq_nr)
@@ -255,5 +264,34 @@ int probe_irq_off(unsigned long irqs)
void __init init_IRQ(void)
{
- irq_setup();
+ switch (mips_machtype) {
+ case MACH_DS23100:
+ dec_init_kn01();
+ break;
+ case MACH_DS5100: /* DS5100 MIPSMATE */
+ dec_init_kn230();
+ break;
+ case MACH_DS5000_200: /* DS5000 3max */
+ dec_init_kn02();
+ break;
+ case MACH_DS5000_1XX: /* DS5000/100 3min */
+ dec_init_kn02ba();
+ break;
+ case MACH_DS5000_2X0: /* DS5000/240 3max+ */
+ dec_init_kn03();
+ break;
+ case MACH_DS5000_XX: /* Personal DS5000/2x */
+ dec_init_kn02ca();
+ break;
+ case MACH_DS5800: /* DS5800 Isis */
+ panic("Don't know how to set this up!");
+ break;
+ case MACH_DS5400: /* DS5400 MIPSfair */
+ panic("Don't know how to set this up!");
+ break;
+ case MACH_DS5500: /* DS5500 MIPSfair-2 */
+ panic("Don't know how to set this up!");
+ break;
+ }
+ set_except_vector(0, decstation_handle_int);
}
diff --git a/arch/mips/dec/setup.c b/arch/mips/dec/setup.c
index bfb1f38a5..8429563a4 100644
--- a/arch/mips/dec/setup.c
+++ b/arch/mips/dec/setup.c
@@ -28,14 +28,6 @@
#include <asm/dec/ioasic_addrs.h>
#include <asm/dec/ioasic_ints.h>
-extern asmlinkage void decstation_handle_int(void);
-
-void dec_init_kn01(void);
-void dec_init_kn230(void);
-void dec_init_kn02(void);
-void dec_init_kn02ba(void);
-void dec_init_kn02ca(void);
-void dec_init_kn03(void);
char *dec_rtc_base = (void *) KN01_RTC_BASE; /* Assume DS2100/3100 initially */
@@ -64,40 +56,6 @@ extern int setup_dec_irq(int, struct irqaction *);
void (*board_time_init) (struct irqaction * irq);
-static void __init dec_irq_setup(void)
-{
- switch (mips_machtype) {
- case MACH_DS23100:
- dec_init_kn01();
- break;
- case MACH_DS5100: /* DS5100 MIPSMATE */
- dec_init_kn230();
- break;
- case MACH_DS5000_200: /* DS5000 3max */
- dec_init_kn02();
- break;
- case MACH_DS5000_1XX: /* DS5000/100 3min */
- dec_init_kn02ba();
- break;
- case MACH_DS5000_2X0: /* DS5000/240 3max+ */
- dec_init_kn03();
- break;
- case MACH_DS5000_XX: /* Personal DS5000/2x */
- dec_init_kn02ca();
- break;
- case MACH_DS5800: /* DS5800 Isis */
- panic("Don't know how to set this up!");
- break;
- case MACH_DS5400: /* DS5400 MIPSfair */
- panic("Don't know how to set this up!");
- break;
- case MACH_DS5500: /* DS5500 MIPSfair-2 */
- panic("Don't know how to set this up!");
- break;
- }
- set_except_vector(0, decstation_handle_int);
-}
-
/*
* enable the periodic interrupts
*/
@@ -118,7 +76,6 @@ static void __init dec_time_init(struct irqaction *irq)
void __init decstation_setup(void)
{
- irq_setup = dec_irq_setup;
board_time_init = dec_time_init;
wbflush_setup();