[PATCH] alpha pt_regs cleanups: device_interrupt
callers of ->device_interrupt() do set_irq_regs() now; pt_regs argument removed, remaining uses of regs in instances of ->device_interrupt() are switched to get_irq_regs() and will be gone in the next patch. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
@@ -167,18 +167,18 @@ titan_set_irq_affinity(unsigned int irq, cpumask_t affinity)
|
||||
}
|
||||
|
||||
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, get_irq_regs());
|
||||
}
|
||||
|
||||
|
||||
@@ -245,6 +245,7 @@ titan_legacy_init_irq(void)
|
||||
void
|
||||
titan_dispatch_irqs(u64 mask, struct pt_regs *regs)
|
||||
{
|
||||
struct pt_regs *old_regs;
|
||||
unsigned long vector;
|
||||
|
||||
/*
|
||||
@@ -252,6 +253,7 @@ titan_dispatch_irqs(u64 mask, struct pt_regs *regs)
|
||||
*/
|
||||
mask &= titan_cpu_irq_affinity[smp_processor_id()];
|
||||
|
||||
old_regs = set_irq_regs(regs);
|
||||
/*
|
||||
* Dispatch all requested interrupts
|
||||
*/
|
||||
@@ -263,8 +265,9 @@ titan_dispatch_irqs(u64 mask, struct pt_regs *regs)
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user