[PATCH] alpha pt_regs cleanups: collapse set_irq_regs() in titan_dispatch_irqs()
Al Viro [Sun, 8 Oct 2006 13:45:28 +0000 (14:45 +0100)]
titan_dispatch_irqs() always gets get_irq_regs() as argument; kill
the argument and collapse set_irq_regs() in body.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

arch/alpha/kernel/err_titan.c
arch/alpha/kernel/proto.h
arch/alpha/kernel/sys_titan.c

index 2e6e629..febe71c 100644 (file)
@@ -452,7 +452,7 @@ titan_machine_check(u64 vector, u64 la_ptr)
                 * machine checks to interrupts
                 */
                irqmask = tmchk->c_dirx & TITAN_MCHECK_INTERRUPT_MASK;
-               titan_dispatch_irqs(irqmask, get_irq_regs());
+               titan_dispatch_irqs(irqmask);
        }       
 
 
@@ -746,7 +746,7 @@ privateer_machine_check(u64 vector, u64 la_ptr)
        /*
         * Dispatch the interrupt(s).
         */
-       titan_dispatch_irqs(irqmask, get_irq_regs());
+       titan_dispatch_irqs(irqmask);
 
        /* 
         * Release the logout frame.
index 3fff887..daccd4b 100644 (file)
@@ -177,7 +177,7 @@ extern void dik_show_regs(struct pt_regs *regs, unsigned long *r9_15);
 extern void die_if_kernel(char *, struct pt_regs *, long, unsigned long *);
 
 /* sys_titan.c */
-extern void titan_dispatch_irqs(u64, struct pt_regs *);
+extern void titan_dispatch_irqs(u64);
 
 /* ../mm/init.c */
 extern void switch_to_system_map(void);
index e8e8ec9..161d691 100644 (file)
@@ -243,9 +243,8 @@ titan_legacy_init_irq(void)
 }
 
 void
-titan_dispatch_irqs(u64 mask, struct pt_regs *regs)
+titan_dispatch_irqs(u64 mask)
 {
-       struct pt_regs *old_regs;
        unsigned long vector;
 
        /*
@@ -253,7 +252,6 @@ 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 
         */
@@ -267,7 +265,6 @@ titan_dispatch_irqs(u64 mask, struct pt_regs *regs)
                /* dispatch it */
                alpha_mv.device_interrupt(vector);
        }
-       set_irq_regs(old_regs);
 }
   
 \f