X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fmips%2Fdec%2Fsetup.c;h=d34032ac492a1ac24a9954f2ab789780b2bb8a04;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=7c1ca8f6330e0e33a69f6de58758effbe017be69;hpb=76828883507a47dae78837ab5dec5a5b4513c667;p=linux-2.6.git diff --git a/arch/mips/dec/setup.c b/arch/mips/dec/setup.c index 7c1ca8f63..d34032ac4 100644 --- a/arch/mips/dec/setup.c +++ b/arch/mips/dec/setup.c @@ -46,9 +46,7 @@ extern void dec_machine_restart(char *command); extern void dec_machine_halt(void); extern void dec_machine_power_off(void); -extern irqreturn_t dec_intr_halt(int irq, void *dev_id, struct pt_regs *regs); - -extern asmlinkage void decstation_handle_int(void); +extern irqreturn_t dec_intr_halt(int irq, void *dev_id); unsigned long dec_kn_slot_base, dec_kn_slot_size; @@ -107,7 +105,7 @@ static struct irqaction fpuirq = { }; static struct irqaction busirq = { - .flags = SA_INTERRUPT, + .flags = IRQF_DISABLED, .name = "bus error", }; @@ -126,7 +124,7 @@ static void __init dec_be_init(void) case MACH_DS23100: /* DS2100/DS3100 Pmin/Pmax */ board_be_handler = dec_kn01_be_handler; busirq.handler = dec_kn01_be_interrupt; - busirq.flags |= SA_SHIRQ; + busirq.flags |= IRQF_SHARED; dec_kn01_be_init(); break; case MACH_DS5000_1XX: /* DS5000/1xx 3min */ @@ -147,13 +145,11 @@ static void __init dec_be_init(void) extern void dec_time_init(void); -extern void dec_timer_setup(struct irqaction *); -void __init plat_setup(void) +void __init plat_mem_setup(void) { board_be_init = dec_be_init; board_time_init = dec_time_init; - board_timer_setup = dec_timer_setup; wbflush_setup(); @@ -744,7 +740,6 @@ void __init arch_init_irq(void) panic("Don't know how to set this up!"); break; } - set_except_vector(0, decstation_handle_int); /* Free the FPU interrupt if the exception is present. */ if (!cpu_has_nofpuex) { @@ -766,3 +761,9 @@ void __init arch_init_irq(void) if (dec_interrupt[DEC_IRQ_HALT] >= 0) setup_irq(dec_interrupt[DEC_IRQ_HALT], &haltirq); } + +asmlinkage unsigned int dec_irq_dispatch(unsigned int irq) +{ + do_IRQ(irq); + return 0; +}