}
static void
-titan_device_interrupt(unsigned long vector, struct pt_regs * regs)
+titan_device_interrupt(unsigned long vector)
{
printk("titan_device_interrupt: NOT IMPLEMENTED YET!! \n");
}
static void
-titan_srm_device_interrupt(unsigned long vector, struct pt_regs * regs)
+titan_srm_device_interrupt(unsigned long vector)
{
int irq;
irq = (vector - 0x800) >> 4;
- handle_irq(irq, regs);
+ handle_irq(irq);
}
void
titan_dispatch_irqs(u64 mask, struct pt_regs *regs)
{
+ struct pt_regs *old_regs;
unsigned long vector;
/*
*/
mask &= titan_cpu_irq_affinity[smp_processor_id()];
+ old_regs = set_irq_regs(regs);
/*
* Dispatch all requested interrupts
*/
vector = 0x900 + (vector << 4); /* convert to SRM vector */
/* dispatch it */
- alpha_mv.device_interrupt(vector, regs);
+ alpha_mv.device_interrupt(vector);
}
+ set_irq_regs(old_regs);
}
\f