Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] alpha pt_regs cleanups: handle_irq()

isa_no_iack_sc_device_interrupt() always gets get_irq_regs() as
argument; kill that argument.

All but two callers of handle_irq() pass get_irq_regs() as argument;
convert the remaining two, kill set_irq_regs() inside handle_irq().

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

authored by

Al Viro and committed by
Linus Torvalds
3dbb8c62 7ca56053

+40 -41
+1 -4
arch/alpha/kernel/irq.c
··· 127 127 #define MAX_ILLEGAL_IRQS 16 128 128 129 129 void 130 - handle_irq(int irq, struct pt_regs * regs) 130 + handle_irq(int irq) 131 131 { 132 - struct pt_regs *old_regs; 133 132 /* 134 133 * We ack quickly, we don't want the irq controller 135 134 * thinking we're snobs just because some other CPU has ··· 149 150 return; 150 151 } 151 152 152 - old_regs = set_irq_regs(regs); 153 153 irq_enter(); 154 154 /* 155 155 * __do_IRQ() must be called with IPL_MAX. Note that we do not ··· 159 161 local_irq_disable(); 160 162 __do_IRQ(irq); 161 163 irq_exit(); 162 - set_irq_regs(old_regs); 163 164 }
+4 -2
arch/alpha/kernel/irq_alpha.c
··· 52 52 #endif 53 53 break; 54 54 case 1: 55 + old_regs = set_irq_regs(regs); 55 56 #ifdef CONFIG_SMP 56 57 { 57 58 long cpu; ··· 63 62 if (cpu != boot_cpuid) { 64 63 kstat_cpu(cpu).irqs[RTC_IRQ]++; 65 64 } else { 66 - handle_irq(RTC_IRQ, regs); 65 + handle_irq(RTC_IRQ); 67 66 } 68 67 } 69 68 #else 70 - handle_irq(RTC_IRQ, regs); 69 + handle_irq(RTC_IRQ); 71 70 #endif 71 + set_irq_regs(old_regs); 72 72 return; 73 73 case 2: 74 74 alpha_mv.machine_check(vector, la_ptr, regs);
+3 -3
arch/alpha/kernel/irq_i8259.c
··· 147 147 */ 148 148 int j = *(vuip) IACK_SC; 149 149 j &= 0xff; 150 - handle_irq(j, get_irq_regs()); 150 + handle_irq(j); 151 151 } 152 152 #endif 153 153 154 154 #if defined(CONFIG_ALPHA_GENERIC) || !defined(IACK_SC) 155 155 void 156 - isa_no_iack_sc_device_interrupt(unsigned long vector, struct pt_regs *regs) 156 + isa_no_iack_sc_device_interrupt(unsigned long vector) 157 157 { 158 158 unsigned long pic; 159 159 ··· 176 176 while (pic) { 177 177 int j = ffz(~pic); 178 178 pic &= pic - 1; 179 - handle_irq(j, regs); 179 + handle_irq(j); 180 180 } 181 181 } 182 182 #endif
+2 -2
arch/alpha/kernel/irq_impl.h
··· 16 16 #define RTC_IRQ 8 17 17 18 18 extern void isa_device_interrupt(unsigned long); 19 - extern void isa_no_iack_sc_device_interrupt(unsigned long, struct pt_regs *); 19 + extern void isa_no_iack_sc_device_interrupt(unsigned long); 20 20 extern void srm_device_interrupt(unsigned long); 21 21 extern void pyxis_device_interrupt(unsigned long); 22 22 ··· 39 39 extern struct hw_interrupt_type i8259a_irq_type; 40 40 extern void init_i8259a_irqs(void); 41 41 42 - extern void handle_irq(int irq, struct pt_regs * regs); 42 + extern void handle_irq(int irq);
+1 -1
arch/alpha/kernel/irq_pyxis.c
··· 100 100 if (i == 7) 101 101 isa_device_interrupt(vector); 102 102 else 103 - handle_irq(16+i, get_irq_regs()); 103 + handle_irq(16+i); 104 104 } 105 105 } 106 106
+1 -1
arch/alpha/kernel/irq_srm.c
··· 75 75 srm_device_interrupt(unsigned long vector) 76 76 { 77 77 int irq = (vector - 0x800) >> 4; 78 - handle_irq(irq, get_irq_regs()); 78 + handle_irq(irq); 79 79 }
+1 -1
arch/alpha/kernel/sys_alcor.c
··· 118 118 if (i == 31) { 119 119 isa_device_interrupt(vector); 120 120 } else { 121 - handle_irq(16 + i, get_irq_regs()); 121 + handle_irq(16 + i); 122 122 } 123 123 } 124 124 }
+1 -1
arch/alpha/kernel/sys_cabriolet.c
··· 100 100 if (i == 4) { 101 101 isa_device_interrupt(v); 102 102 } else { 103 - handle_irq(16 + i, get_irq_regs()); 103 + handle_irq(16 + i); 104 104 } 105 105 } 106 106 }
+3 -3
arch/alpha/kernel/sys_dp264.c
··· 238 238 if (i == 55) 239 239 isa_device_interrupt(vector); 240 240 else 241 - handle_irq(16 + i, get_irq_regs()); 241 + handle_irq(16 + i); 242 242 #if 0 243 243 TSUNAMI_cchip->dir0.csr = 1UL << i; mb(); 244 244 tmp = TSUNAMI_cchip->dir0.csr; ··· 268 268 if (irq >= 32) 269 269 irq -= 16; 270 270 271 - handle_irq(irq, get_irq_regs()); 271 + handle_irq(irq); 272 272 } 273 273 274 274 static void ··· 290 290 * 291 291 * Eg IRQ 24 is DRIR bit 8, etc, etc 292 292 */ 293 - handle_irq(irq, get_irq_regs()); 293 + handle_irq(irq); 294 294 } 295 295 296 296 static void __init
+1 -1
arch/alpha/kernel/sys_eb64p.c
··· 99 99 if (i == 5) { 100 100 isa_device_interrupt(vector); 101 101 } else { 102 - handle_irq(16 + i, get_irq_regs()); 102 + handle_irq(16 + i); 103 103 } 104 104 } 105 105 }
+5 -5
arch/alpha/kernel/sys_eiger.c
··· 118 118 * despatch an interrupt if it's set. 119 119 */ 120 120 121 - if (intstatus & 8) handle_irq(16+3, get_irq_regs()); 122 - if (intstatus & 4) handle_irq(16+2, get_irq_regs()); 123 - if (intstatus & 2) handle_irq(16+1, get_irq_regs()); 124 - if (intstatus & 1) handle_irq(16+0, get_irq_regs()); 121 + if (intstatus & 8) handle_irq(16+3); 122 + if (intstatus & 4) handle_irq(16+2); 123 + if (intstatus & 2) handle_irq(16+1); 124 + if (intstatus & 1) handle_irq(16+0); 125 125 } else { 126 126 isa_device_interrupt(vector); 127 127 } ··· 131 131 eiger_srm_device_interrupt(unsigned long vector) 132 132 { 133 133 int irq = (vector - 0x800) >> 4; 134 - handle_irq(irq, get_irq_regs()); 134 + handle_irq(irq); 135 135 } 136 136 137 137 static void __init
+1 -1
arch/alpha/kernel/sys_jensen.c
··· 198 198 } 199 199 #endif 200 200 201 - handle_irq(irq, get_irq_regs()); 201 + handle_irq(irq); 202 202 } 203 203 204 204 static void __init
+1 -1
arch/alpha/kernel/sys_marvel.c
··· 64 64 irq &= MARVEL_IRQ_VEC_IRQ_MASK; /* not too many bits */ 65 65 irq |= pid << MARVEL_IRQ_VEC_PE_SHIFT; /* merge the pid */ 66 66 67 - handle_irq(irq, get_irq_regs()); 67 + handle_irq(irq); 68 68 } 69 69 70 70 static volatile unsigned long *
+1 -1
arch/alpha/kernel/sys_miata.c
··· 56 56 if (irq >= 16) 57 57 irq = irq + 8; 58 58 59 - handle_irq(irq, get_irq_regs()); 59 + handle_irq(irq); 60 60 } 61 61 62 62 static void __init
+1 -1
arch/alpha/kernel/sys_mikasa.c
··· 99 99 if (i < 16) { 100 100 isa_device_interrupt(vector); 101 101 } else { 102 - handle_irq(i, get_irq_regs()); 102 + handle_irq(i); 103 103 } 104 104 } 105 105 }
+2 -2
arch/alpha/kernel/sys_noritake.c
··· 98 98 if (i < 16) { 99 99 isa_device_interrupt(vector); 100 100 } else { 101 - handle_irq(i, get_irq_regs()); 101 + handle_irq(i); 102 102 } 103 103 } 104 104 } ··· 122 122 if (irq >= 16) 123 123 irq = irq + 1; 124 124 125 - handle_irq(irq, get_irq_regs()); 125 + handle_irq(irq); 126 126 } 127 127 128 128 static void __init
+1 -1
arch/alpha/kernel/sys_rawhide.c
··· 158 158 /* Adjust by which hose it is from. */ 159 159 irq -= ((irq + 16) >> 2) & 0x38; 160 160 161 - handle_irq(irq, get_irq_regs()); 161 + handle_irq(irq); 162 162 } 163 163 164 164 static void __init
+2 -2
arch/alpha/kernel/sys_rx164.c
··· 102 102 i = ffz(~pld); 103 103 pld &= pld - 1; /* clear least bit set */ 104 104 if (i == 20) { 105 - isa_no_iack_sc_device_interrupt(vector, get_irq_regs()); 105 + isa_no_iack_sc_device_interrupt(vector); 106 106 } else { 107 - handle_irq(16+i, get_irq_regs()); 107 + handle_irq(16+i); 108 108 } 109 109 } 110 110 }
+1 -1
arch/alpha/kernel/sys_sable.c
··· 526 526 printk("%s: vector 0x%lx bit 0x%x irq 0x%x\n", 527 527 __FUNCTION__, vector, bit, irq); 528 528 #endif 529 - handle_irq(irq, get_irq_regs()); 529 + handle_irq(irq); 530 530 } 531 531 532 532 static void __init
+5 -5
arch/alpha/kernel/sys_takara.c
··· 112 112 * despatch an interrupt if it's set. 113 113 */ 114 114 115 - if (intstatus & 8) handle_irq(16+3, get_irq_regs()); 116 - if (intstatus & 4) handle_irq(16+2, get_irq_regs()); 117 - if (intstatus & 2) handle_irq(16+1, get_irq_regs()); 118 - if (intstatus & 1) handle_irq(16+0, get_irq_regs()); 115 + if (intstatus & 8) handle_irq(16+3); 116 + if (intstatus & 4) handle_irq(16+2); 117 + if (intstatus & 2) handle_irq(16+1); 118 + if (intstatus & 1) handle_irq(16+0); 119 119 } else { 120 120 isa_device_interrupt (vector); 121 121 } ··· 125 125 takara_srm_device_interrupt(unsigned long vector) 126 126 { 127 127 int irq = (vector - 0x800) >> 4; 128 - handle_irq(irq, get_irq_regs()); 128 + handle_irq(irq); 129 129 } 130 130 131 131 static void __init
+1 -1
arch/alpha/kernel/sys_titan.c
··· 178 178 int irq; 179 179 180 180 irq = (vector - 0x800) >> 4; 181 - handle_irq(irq, get_irq_regs()); 181 + handle_irq(irq); 182 182 } 183 183 184 184
+1 -1
arch/alpha/kernel/sys_wildfire.c
··· 246 246 * bits 5-0: irq in PCA 247 247 */ 248 248 249 - handle_irq(irq, get_irq_regs()); 249 + handle_irq(irq); 250 250 return; 251 251 } 252 252