diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-10-08 15:36:08 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-08 21:32:35 +0200 |
commit | 7ca56053b29633ef08b14e5ca16c663363edac36 (patch) | |
tree | f8940145602aca5ea9ff35c9c8b5dc508e23d611 /arch/alpha/kernel/irq_alpha.c | |
parent | [PATCH] m68k pt_regs fixes, part 2 (diff) | |
download | linux-7ca56053b29633ef08b14e5ca16c663363edac36.tar.xz linux-7ca56053b29633ef08b14e5ca16c663363edac36.zip |
[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/irq_alpha.c')
-rw-r--r-- | arch/alpha/kernel/irq_alpha.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/alpha/kernel/irq_alpha.c b/arch/alpha/kernel/irq_alpha.c index ddf5cf8dcb0b..d14cc423aa48 100644 --- a/arch/alpha/kernel/irq_alpha.c +++ b/arch/alpha/kernel/irq_alpha.c @@ -39,6 +39,7 @@ asmlinkage void do_entInt(unsigned long type, unsigned long vector, unsigned long la_ptr, struct pt_regs *regs) { + struct pt_regs *old_regs; switch (type) { case 0: #ifdef CONFIG_SMP @@ -72,7 +73,9 @@ do_entInt(unsigned long type, unsigned long vector, alpha_mv.machine_check(vector, la_ptr, regs); return; case 3: - alpha_mv.device_interrupt(vector, regs); + old_regs = set_irq_regs(regs); + alpha_mv.device_interrupt(vector); + set_irq_regs(old_regs); return; case 4: perf_irq(la_ptr, regs); |