diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-10-08 09:37:32 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-08 15:32:35 -0400 |
commit | 3dbb8c62897f96bbf5d4e4fe649e5d3791fc33c5 (patch) | |
tree | bd5335388a8ae63037d82e98ca529c36290fd2ee | |
parent | 7ca56053b29633ef08b14e5ca16c663363edac36 (diff) |
[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>
-rw-r--r-- | arch/alpha/kernel/irq.c | 5 | ||||
-rw-r--r-- | arch/alpha/kernel/irq_alpha.c | 6 | ||||
-rw-r--r-- | arch/alpha/kernel/irq_i8259.c | 6 | ||||
-rw-r--r-- | arch/alpha/kernel/irq_impl.h | 4 | ||||
-rw-r--r-- | arch/alpha/kernel/irq_pyxis.c | 2 | ||||
-rw-r--r-- | arch/alpha/kernel/irq_srm.c | 2 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_alcor.c | 2 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_cabriolet.c | 2 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_dp264.c | 6 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_eb64p.c | 2 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_eiger.c | 10 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_jensen.c | 2 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_marvel.c | 2 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_miata.c | 2 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_mikasa.c | 2 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_noritake.c | 4 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_rawhide.c | 2 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_rx164.c | 4 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_sable.c | 2 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_takara.c | 10 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_titan.c | 2 | ||||
-rw-r--r-- | arch/alpha/kernel/sys_wildfire.c | 2 |
22 files changed, 40 insertions, 41 deletions
diff --git a/arch/alpha/kernel/irq.c b/arch/alpha/kernel/irq.c index dba4e70926f5..facf82a5499a 100644 --- a/arch/alpha/kernel/irq.c +++ b/arch/alpha/kernel/irq.c | |||
@@ -127,9 +127,8 @@ unlock: | |||
127 | #define MAX_ILLEGAL_IRQS 16 | 127 | #define MAX_ILLEGAL_IRQS 16 |
128 | 128 | ||
129 | void | 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 | * We ack quickly, we don't want the irq controller | 133 | * We ack quickly, we don't want the irq controller |
135 | * thinking we're snobs just because some other CPU has | 134 | * thinking we're snobs just because some other CPU has |
@@ -150,7 +149,6 @@ handle_irq(int irq, struct pt_regs * regs) | |||
150 | return; | 149 | return; |
151 | } | 150 | } |
152 | 151 | ||
153 | old_regs = set_irq_regs(regs); | ||
154 | irq_enter(); | 152 | irq_enter(); |
155 | /* | 153 | /* |
156 | * __do_IRQ() must be called with IPL_MAX. Note that we do not | 154 | * __do_IRQ() must be called with IPL_MAX. Note that we do not |
@@ -161,5 +159,4 @@ handle_irq(int irq, struct pt_regs * regs) | |||
161 | local_irq_disable(); | 159 | local_irq_disable(); |
162 | __do_IRQ(irq); | 160 | __do_IRQ(irq); |
163 | irq_exit(); | 161 | irq_exit(); |
164 | set_irq_regs(old_regs); | ||
165 | } | 162 | } |
diff --git a/arch/alpha/kernel/irq_alpha.c b/arch/alpha/kernel/irq_alpha.c index d14cc423aa48..51d66b7f99e3 100644 --- a/arch/alpha/kernel/irq_alpha.c +++ b/arch/alpha/kernel/irq_alpha.c | |||
@@ -52,6 +52,7 @@ do_entInt(unsigned long type, unsigned long vector, | |||
52 | #endif | 52 | #endif |
53 | break; | 53 | break; |
54 | case 1: | 54 | case 1: |
55 | old_regs = set_irq_regs(regs); | ||
55 | #ifdef CONFIG_SMP | 56 | #ifdef CONFIG_SMP |
56 | { | 57 | { |
57 | long cpu; | 58 | long cpu; |
@@ -62,12 +63,13 @@ do_entInt(unsigned long type, unsigned long vector, | |||
62 | if (cpu != boot_cpuid) { | 63 | if (cpu != boot_cpuid) { |
63 | kstat_cpu(cpu).irqs[RTC_IRQ]++; | 64 | kstat_cpu(cpu).irqs[RTC_IRQ]++; |
64 | } else { | 65 | } else { |
65 | handle_irq(RTC_IRQ, regs); | 66 | handle_irq(RTC_IRQ); |
66 | } | 67 | } |
67 | } | 68 | } |
68 | #else | 69 | #else |
69 | handle_irq(RTC_IRQ, regs); | 70 | handle_irq(RTC_IRQ); |
70 | #endif | 71 | #endif |
72 | set_irq_regs(old_regs); | ||
71 | return; | 73 | return; |
72 | case 2: | 74 | case 2: |
73 | alpha_mv.machine_check(vector, la_ptr, regs); | 75 | alpha_mv.machine_check(vector, la_ptr, regs); |
diff --git a/arch/alpha/kernel/irq_i8259.c b/arch/alpha/kernel/irq_i8259.c index 6c70f8b97b72..9405bee9894e 100644 --- a/arch/alpha/kernel/irq_i8259.c +++ b/arch/alpha/kernel/irq_i8259.c | |||
@@ -147,13 +147,13 @@ isa_device_interrupt(unsigned long vector) | |||
147 | */ | 147 | */ |
148 | int j = *(vuip) IACK_SC; | 148 | int j = *(vuip) IACK_SC; |
149 | j &= 0xff; | 149 | j &= 0xff; |
150 | handle_irq(j, get_irq_regs()); | 150 | handle_irq(j); |
151 | } | 151 | } |
152 | #endif | 152 | #endif |
153 | 153 | ||
154 | #if defined(CONFIG_ALPHA_GENERIC) || !defined(IACK_SC) | 154 | #if defined(CONFIG_ALPHA_GENERIC) || !defined(IACK_SC) |
155 | void | 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 | unsigned long pic; | 158 | unsigned long pic; |
159 | 159 | ||
@@ -176,7 +176,7 @@ isa_no_iack_sc_device_interrupt(unsigned long vector, struct pt_regs *regs) | |||
176 | while (pic) { | 176 | while (pic) { |
177 | int j = ffz(~pic); | 177 | int j = ffz(~pic); |
178 | pic &= pic - 1; | 178 | pic &= pic - 1; |
179 | handle_irq(j, regs); | 179 | handle_irq(j); |
180 | } | 180 | } |
181 | } | 181 | } |
182 | #endif | 182 | #endif |
diff --git a/arch/alpha/kernel/irq_impl.h b/arch/alpha/kernel/irq_impl.h index 5d84dbdcdb89..cc9a8a7aa279 100644 --- a/arch/alpha/kernel/irq_impl.h +++ b/arch/alpha/kernel/irq_impl.h | |||
@@ -16,7 +16,7 @@ | |||
16 | #define RTC_IRQ 8 | 16 | #define RTC_IRQ 8 |
17 | 17 | ||
18 | extern void isa_device_interrupt(unsigned long); | 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 | extern void srm_device_interrupt(unsigned long); | 20 | extern void srm_device_interrupt(unsigned long); |
21 | extern void pyxis_device_interrupt(unsigned long); | 21 | extern void pyxis_device_interrupt(unsigned long); |
22 | 22 | ||
@@ -39,4 +39,4 @@ extern void i8259a_end_irq(unsigned int); | |||
39 | extern struct hw_interrupt_type i8259a_irq_type; | 39 | extern struct hw_interrupt_type i8259a_irq_type; |
40 | extern void init_i8259a_irqs(void); | 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); |
diff --git a/arch/alpha/kernel/irq_pyxis.c b/arch/alpha/kernel/irq_pyxis.c index 686dc22111b2..d53edbccbfe5 100644 --- a/arch/alpha/kernel/irq_pyxis.c +++ b/arch/alpha/kernel/irq_pyxis.c | |||
@@ -100,7 +100,7 @@ pyxis_device_interrupt(unsigned long vector) | |||
100 | if (i == 7) | 100 | if (i == 7) |
101 | isa_device_interrupt(vector); | 101 | isa_device_interrupt(vector); |
102 | else | 102 | else |
103 | handle_irq(16+i, get_irq_regs()); | 103 | handle_irq(16+i); |
104 | } | 104 | } |
105 | } | 105 | } |
106 | 106 | ||
diff --git a/arch/alpha/kernel/irq_srm.c b/arch/alpha/kernel/irq_srm.c index 2e9f6d421a8e..32212014fbe9 100644 --- a/arch/alpha/kernel/irq_srm.c +++ b/arch/alpha/kernel/irq_srm.c | |||
@@ -75,5 +75,5 @@ void | |||
75 | srm_device_interrupt(unsigned long vector) | 75 | srm_device_interrupt(unsigned long vector) |
76 | { | 76 | { |
77 | int irq = (vector - 0x800) >> 4; | 77 | int irq = (vector - 0x800) >> 4; |
78 | handle_irq(irq, get_irq_regs()); | 78 | handle_irq(irq); |
79 | } | 79 | } |
diff --git a/arch/alpha/kernel/sys_alcor.c b/arch/alpha/kernel/sys_alcor.c index 2d412c876549..49bedfbbd31b 100644 --- a/arch/alpha/kernel/sys_alcor.c +++ b/arch/alpha/kernel/sys_alcor.c | |||
@@ -118,7 +118,7 @@ alcor_device_interrupt(unsigned long vector) | |||
118 | if (i == 31) { | 118 | if (i == 31) { |
119 | isa_device_interrupt(vector); | 119 | isa_device_interrupt(vector); |
120 | } else { | 120 | } else { |
121 | handle_irq(16 + i, get_irq_regs()); | 121 | handle_irq(16 + i); |
122 | } | 122 | } |
123 | } | 123 | } |
124 | } | 124 | } |
diff --git a/arch/alpha/kernel/sys_cabriolet.c b/arch/alpha/kernel/sys_cabriolet.c index e75f0cea6fcc..ace475c124f6 100644 --- a/arch/alpha/kernel/sys_cabriolet.c +++ b/arch/alpha/kernel/sys_cabriolet.c | |||
@@ -100,7 +100,7 @@ cabriolet_device_interrupt(unsigned long v) | |||
100 | if (i == 4) { | 100 | if (i == 4) { |
101 | isa_device_interrupt(v); | 101 | isa_device_interrupt(v); |
102 | } else { | 102 | } else { |
103 | handle_irq(16 + i, get_irq_regs()); | 103 | handle_irq(16 + i); |
104 | } | 104 | } |
105 | } | 105 | } |
106 | } | 106 | } |
diff --git a/arch/alpha/kernel/sys_dp264.c b/arch/alpha/kernel/sys_dp264.c index 57dce0098a1b..85d2f933dd07 100644 --- a/arch/alpha/kernel/sys_dp264.c +++ b/arch/alpha/kernel/sys_dp264.c | |||
@@ -238,7 +238,7 @@ dp264_device_interrupt(unsigned long vector) | |||
238 | if (i == 55) | 238 | if (i == 55) |
239 | isa_device_interrupt(vector); | 239 | isa_device_interrupt(vector); |
240 | else | 240 | else |
241 | handle_irq(16 + i, get_irq_regs()); | 241 | handle_irq(16 + i); |
242 | #if 0 | 242 | #if 0 |
243 | TSUNAMI_cchip->dir0.csr = 1UL << i; mb(); | 243 | TSUNAMI_cchip->dir0.csr = 1UL << i; mb(); |
244 | tmp = TSUNAMI_cchip->dir0.csr; | 244 | tmp = TSUNAMI_cchip->dir0.csr; |
@@ -268,7 +268,7 @@ dp264_srm_device_interrupt(unsigned long vector) | |||
268 | if (irq >= 32) | 268 | if (irq >= 32) |
269 | irq -= 16; | 269 | irq -= 16; |
270 | 270 | ||
271 | handle_irq(irq, get_irq_regs()); | 271 | handle_irq(irq); |
272 | } | 272 | } |
273 | 273 | ||
274 | static void | 274 | static void |
@@ -290,7 +290,7 @@ clipper_srm_device_interrupt(unsigned long vector) | |||
290 | * | 290 | * |
291 | * Eg IRQ 24 is DRIR bit 8, etc, etc | 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 | static void __init | 296 | static void __init |
diff --git a/arch/alpha/kernel/sys_eb64p.c b/arch/alpha/kernel/sys_eb64p.c index 90d27256d7d6..9c5a306dc0ee 100644 --- a/arch/alpha/kernel/sys_eb64p.c +++ b/arch/alpha/kernel/sys_eb64p.c | |||
@@ -99,7 +99,7 @@ eb64p_device_interrupt(unsigned long vector) | |||
99 | if (i == 5) { | 99 | if (i == 5) { |
100 | isa_device_interrupt(vector); | 100 | isa_device_interrupt(vector); |
101 | } else { | 101 | } else { |
102 | handle_irq(16 + i, get_irq_regs()); | 102 | handle_irq(16 + i); |
103 | } | 103 | } |
104 | } | 104 | } |
105 | } | 105 | } |
diff --git a/arch/alpha/kernel/sys_eiger.c b/arch/alpha/kernel/sys_eiger.c index f38cded2df97..7ef3b6fb3700 100644 --- a/arch/alpha/kernel/sys_eiger.c +++ b/arch/alpha/kernel/sys_eiger.c | |||
@@ -118,10 +118,10 @@ eiger_device_interrupt(unsigned long vector) | |||
118 | * despatch an interrupt if it's set. | 118 | * despatch an interrupt if it's set. |
119 | */ | 119 | */ |
120 | 120 | ||
121 | if (intstatus & 8) handle_irq(16+3, get_irq_regs()); | 121 | if (intstatus & 8) handle_irq(16+3); |
122 | if (intstatus & 4) handle_irq(16+2, get_irq_regs()); | 122 | if (intstatus & 4) handle_irq(16+2); |
123 | if (intstatus & 2) handle_irq(16+1, get_irq_regs()); | 123 | if (intstatus & 2) handle_irq(16+1); |
124 | if (intstatus & 1) handle_irq(16+0, get_irq_regs()); | 124 | if (intstatus & 1) handle_irq(16+0); |
125 | } else { | 125 | } else { |
126 | isa_device_interrupt(vector); | 126 | isa_device_interrupt(vector); |
127 | } | 127 | } |
@@ -131,7 +131,7 @@ static void | |||
131 | eiger_srm_device_interrupt(unsigned long vector) | 131 | eiger_srm_device_interrupt(unsigned long vector) |
132 | { | 132 | { |
133 | int irq = (vector - 0x800) >> 4; | 133 | int irq = (vector - 0x800) >> 4; |
134 | handle_irq(irq, get_irq_regs()); | 134 | handle_irq(irq); |
135 | } | 135 | } |
136 | 136 | ||
137 | static void __init | 137 | static void __init |
diff --git a/arch/alpha/kernel/sys_jensen.c b/arch/alpha/kernel/sys_jensen.c index fc316369f4d4..a7b89022938e 100644 --- a/arch/alpha/kernel/sys_jensen.c +++ b/arch/alpha/kernel/sys_jensen.c | |||
@@ -198,7 +198,7 @@ jensen_device_interrupt(unsigned long vector) | |||
198 | } | 198 | } |
199 | #endif | 199 | #endif |
200 | 200 | ||
201 | handle_irq(irq, get_irq_regs()); | 201 | handle_irq(irq); |
202 | } | 202 | } |
203 | 203 | ||
204 | static void __init | 204 | static void __init |
diff --git a/arch/alpha/kernel/sys_marvel.c b/arch/alpha/kernel/sys_marvel.c index 4ea5615be43a..e349f03b830e 100644 --- a/arch/alpha/kernel/sys_marvel.c +++ b/arch/alpha/kernel/sys_marvel.c | |||
@@ -64,7 +64,7 @@ io7_device_interrupt(unsigned long vector) | |||
64 | irq &= MARVEL_IRQ_VEC_IRQ_MASK; /* not too many bits */ | 64 | irq &= MARVEL_IRQ_VEC_IRQ_MASK; /* not too many bits */ |
65 | irq |= pid << MARVEL_IRQ_VEC_PE_SHIFT; /* merge the pid */ | 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 | static volatile unsigned long * | 70 | static volatile unsigned long * |
diff --git a/arch/alpha/kernel/sys_miata.c b/arch/alpha/kernel/sys_miata.c index fbbd95212a96..b8b817feb1ee 100644 --- a/arch/alpha/kernel/sys_miata.c +++ b/arch/alpha/kernel/sys_miata.c | |||
@@ -56,7 +56,7 @@ miata_srm_device_interrupt(unsigned long vector) | |||
56 | if (irq >= 16) | 56 | if (irq >= 16) |
57 | irq = irq + 8; | 57 | irq = irq + 8; |
58 | 58 | ||
59 | handle_irq(irq, get_irq_regs()); | 59 | handle_irq(irq); |
60 | } | 60 | } |
61 | 61 | ||
62 | static void __init | 62 | static void __init |
diff --git a/arch/alpha/kernel/sys_mikasa.c b/arch/alpha/kernel/sys_mikasa.c index 5429ba0e08f1..ba98048d61a8 100644 --- a/arch/alpha/kernel/sys_mikasa.c +++ b/arch/alpha/kernel/sys_mikasa.c | |||
@@ -99,7 +99,7 @@ mikasa_device_interrupt(unsigned long vector) | |||
99 | if (i < 16) { | 99 | if (i < 16) { |
100 | isa_device_interrupt(vector); | 100 | isa_device_interrupt(vector); |
101 | } else { | 101 | } else { |
102 | handle_irq(i, get_irq_regs()); | 102 | handle_irq(i); |
103 | } | 103 | } |
104 | } | 104 | } |
105 | } | 105 | } |
diff --git a/arch/alpha/kernel/sys_noritake.c b/arch/alpha/kernel/sys_noritake.c index b9a843447b89..679836205f04 100644 --- a/arch/alpha/kernel/sys_noritake.c +++ b/arch/alpha/kernel/sys_noritake.c | |||
@@ -98,7 +98,7 @@ noritake_device_interrupt(unsigned long vector) | |||
98 | if (i < 16) { | 98 | if (i < 16) { |
99 | isa_device_interrupt(vector); | 99 | isa_device_interrupt(vector); |
100 | } else { | 100 | } else { |
101 | handle_irq(i, get_irq_regs()); | 101 | handle_irq(i); |
102 | } | 102 | } |
103 | } | 103 | } |
104 | } | 104 | } |
@@ -122,7 +122,7 @@ noritake_srm_device_interrupt(unsigned long vector) | |||
122 | if (irq >= 16) | 122 | if (irq >= 16) |
123 | irq = irq + 1; | 123 | irq = irq + 1; |
124 | 124 | ||
125 | handle_irq(irq, get_irq_regs()); | 125 | handle_irq(irq); |
126 | } | 126 | } |
127 | 127 | ||
128 | static void __init | 128 | static void __init |
diff --git a/arch/alpha/kernel/sys_rawhide.c b/arch/alpha/kernel/sys_rawhide.c index bef65162bfab..581d08c70b92 100644 --- a/arch/alpha/kernel/sys_rawhide.c +++ b/arch/alpha/kernel/sys_rawhide.c | |||
@@ -158,7 +158,7 @@ rawhide_srm_device_interrupt(unsigned long vector) | |||
158 | /* Adjust by which hose it is from. */ | 158 | /* Adjust by which hose it is from. */ |
159 | irq -= ((irq + 16) >> 2) & 0x38; | 159 | irq -= ((irq + 16) >> 2) & 0x38; |
160 | 160 | ||
161 | handle_irq(irq, get_irq_regs()); | 161 | handle_irq(irq); |
162 | } | 162 | } |
163 | 163 | ||
164 | static void __init | 164 | static void __init |
diff --git a/arch/alpha/kernel/sys_rx164.c b/arch/alpha/kernel/sys_rx164.c index fa8eef8dd8c6..ce1faa6f1df1 100644 --- a/arch/alpha/kernel/sys_rx164.c +++ b/arch/alpha/kernel/sys_rx164.c | |||
@@ -102,9 +102,9 @@ rx164_device_interrupt(unsigned long vector) | |||
102 | i = ffz(~pld); | 102 | i = ffz(~pld); |
103 | pld &= pld - 1; /* clear least bit set */ | 103 | pld &= pld - 1; /* clear least bit set */ |
104 | if (i == 20) { | 104 | if (i == 20) { |
105 | isa_no_iack_sc_device_interrupt(vector, get_irq_regs()); | 105 | isa_no_iack_sc_device_interrupt(vector); |
106 | } else { | 106 | } else { |
107 | handle_irq(16+i, get_irq_regs()); | 107 | handle_irq(16+i); |
108 | } | 108 | } |
109 | } | 109 | } |
110 | } | 110 | } |
diff --git a/arch/alpha/kernel/sys_sable.c b/arch/alpha/kernel/sys_sable.c index 791379101e7c..906019cfa681 100644 --- a/arch/alpha/kernel/sys_sable.c +++ b/arch/alpha/kernel/sys_sable.c | |||
@@ -526,7 +526,7 @@ sable_lynx_srm_device_interrupt(unsigned long vector) | |||
526 | printk("%s: vector 0x%lx bit 0x%x irq 0x%x\n", | 526 | printk("%s: vector 0x%lx bit 0x%x irq 0x%x\n", |
527 | __FUNCTION__, vector, bit, irq); | 527 | __FUNCTION__, vector, bit, irq); |
528 | #endif | 528 | #endif |
529 | handle_irq(irq, get_irq_regs()); | 529 | handle_irq(irq); |
530 | } | 530 | } |
531 | 531 | ||
532 | static void __init | 532 | static void __init |
diff --git a/arch/alpha/kernel/sys_takara.c b/arch/alpha/kernel/sys_takara.c index ce2d3b081dc8..9bd9a31450c6 100644 --- a/arch/alpha/kernel/sys_takara.c +++ b/arch/alpha/kernel/sys_takara.c | |||
@@ -112,10 +112,10 @@ takara_device_interrupt(unsigned long vector) | |||
112 | * despatch an interrupt if it's set. | 112 | * despatch an interrupt if it's set. |
113 | */ | 113 | */ |
114 | 114 | ||
115 | if (intstatus & 8) handle_irq(16+3, get_irq_regs()); | 115 | if (intstatus & 8) handle_irq(16+3); |
116 | if (intstatus & 4) handle_irq(16+2, get_irq_regs()); | 116 | if (intstatus & 4) handle_irq(16+2); |
117 | if (intstatus & 2) handle_irq(16+1, get_irq_regs()); | 117 | if (intstatus & 2) handle_irq(16+1); |
118 | if (intstatus & 1) handle_irq(16+0, get_irq_regs()); | 118 | if (intstatus & 1) handle_irq(16+0); |
119 | } else { | 119 | } else { |
120 | isa_device_interrupt (vector); | 120 | isa_device_interrupt (vector); |
121 | } | 121 | } |
@@ -125,7 +125,7 @@ static void | |||
125 | takara_srm_device_interrupt(unsigned long vector) | 125 | takara_srm_device_interrupt(unsigned long vector) |
126 | { | 126 | { |
127 | int irq = (vector - 0x800) >> 4; | 127 | int irq = (vector - 0x800) >> 4; |
128 | handle_irq(irq, get_irq_regs()); | 128 | handle_irq(irq); |
129 | } | 129 | } |
130 | 130 | ||
131 | static void __init | 131 | static void __init |
diff --git a/arch/alpha/kernel/sys_titan.c b/arch/alpha/kernel/sys_titan.c index 1473aa0e6982..e8e8ec9c0f4e 100644 --- a/arch/alpha/kernel/sys_titan.c +++ b/arch/alpha/kernel/sys_titan.c | |||
@@ -178,7 +178,7 @@ titan_srm_device_interrupt(unsigned long vector) | |||
178 | int irq; | 178 | int irq; |
179 | 179 | ||
180 | irq = (vector - 0x800) >> 4; | 180 | irq = (vector - 0x800) >> 4; |
181 | handle_irq(irq, get_irq_regs()); | 181 | handle_irq(irq); |
182 | } | 182 | } |
183 | 183 | ||
184 | 184 | ||
diff --git a/arch/alpha/kernel/sys_wildfire.c b/arch/alpha/kernel/sys_wildfire.c index ddf5edd0cecd..42c3eede4d09 100644 --- a/arch/alpha/kernel/sys_wildfire.c +++ b/arch/alpha/kernel/sys_wildfire.c | |||
@@ -246,7 +246,7 @@ wildfire_device_interrupt(unsigned long vector) | |||
246 | * bits 5-0: irq in PCA | 246 | * bits 5-0: irq in PCA |
247 | */ | 247 | */ |
248 | 248 | ||
249 | handle_irq(irq, get_irq_regs()); | 249 | handle_irq(irq); |
250 | return; | 250 | return; |
251 | } | 251 | } |
252 | 252 | ||