From 7ca56053b29633ef08b14e5ca16c663363edac36 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Sun, 8 Oct 2006 14:36:08 +0100 Subject: [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 Signed-off-by: Linus Torvalds --- arch/alpha/kernel/sys_titan.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'arch/alpha/kernel/sys_titan.c') diff --git a/arch/alpha/kernel/sys_titan.c b/arch/alpha/kernel/sys_titan.c index 302aab38d95..1473aa0e698 100644 --- a/arch/alpha/kernel/sys_titan.c +++ b/arch/alpha/kernel/sys_titan.c @@ -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); } -- cgit v1.2.3