diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-10-08 09:36:08 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-08 15:32:35 -0400 |
commit | 7ca56053b29633ef08b14e5ca16c663363edac36 (patch) | |
tree | f8940145602aca5ea9ff35c9c8b5dc508e23d611 /arch/alpha/kernel/sys_titan.c | |
parent | 8dab42a96781a1100a6b5cc6a66953fc51c30bc1 (diff) |
[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>
Diffstat (limited to 'arch/alpha/kernel/sys_titan.c')
-rw-r--r-- | arch/alpha/kernel/sys_titan.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/alpha/kernel/sys_titan.c b/arch/alpha/kernel/sys_titan.c index 302aab38d95f..1473aa0e6982 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) | |||
167 | } | 167 | } |
168 | 168 | ||
169 | static void | 169 | static void |
170 | titan_device_interrupt(unsigned long vector, struct pt_regs * regs) | 170 | titan_device_interrupt(unsigned long vector) |
171 | { | 171 | { |
172 | printk("titan_device_interrupt: NOT IMPLEMENTED YET!! \n"); | 172 | printk("titan_device_interrupt: NOT IMPLEMENTED YET!! \n"); |
173 | } | 173 | } |
174 | 174 | ||
175 | static void | 175 | static void |
176 | titan_srm_device_interrupt(unsigned long vector, struct pt_regs * regs) | 176 | titan_srm_device_interrupt(unsigned long vector) |
177 | { | 177 | { |
178 | int irq; | 178 | int irq; |
179 | 179 | ||
180 | irq = (vector - 0x800) >> 4; | 180 | irq = (vector - 0x800) >> 4; |
181 | handle_irq(irq, regs); | 181 | handle_irq(irq, get_irq_regs()); |
182 | } | 182 | } |
183 | 183 | ||
184 | 184 | ||
@@ -245,6 +245,7 @@ titan_legacy_init_irq(void) | |||
245 | void | 245 | void |
246 | titan_dispatch_irqs(u64 mask, struct pt_regs *regs) | 246 | titan_dispatch_irqs(u64 mask, struct pt_regs *regs) |
247 | { | 247 | { |
248 | struct pt_regs *old_regs; | ||
248 | unsigned long vector; | 249 | unsigned long vector; |
249 | 250 | ||
250 | /* | 251 | /* |
@@ -252,6 +253,7 @@ titan_dispatch_irqs(u64 mask, struct pt_regs *regs) | |||
252 | */ | 253 | */ |
253 | mask &= titan_cpu_irq_affinity[smp_processor_id()]; | 254 | mask &= titan_cpu_irq_affinity[smp_processor_id()]; |
254 | 255 | ||
256 | old_regs = set_irq_regs(regs); | ||
255 | /* | 257 | /* |
256 | * Dispatch all requested interrupts | 258 | * Dispatch all requested interrupts |
257 | */ | 259 | */ |
@@ -263,8 +265,9 @@ titan_dispatch_irqs(u64 mask, struct pt_regs *regs) | |||
263 | vector = 0x900 + (vector << 4); /* convert to SRM vector */ | 265 | vector = 0x900 + (vector << 4); /* convert to SRM vector */ |
264 | 266 | ||
265 | /* dispatch it */ | 267 | /* dispatch it */ |
266 | alpha_mv.device_interrupt(vector, regs); | 268 | alpha_mv.device_interrupt(vector); |
267 | } | 269 | } |
270 | set_irq_regs(old_regs); | ||
268 | } | 271 | } |
269 | 272 | ||
270 | 273 | ||