aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2006-10-08 19:00:31 -0400
committerRalf Baechle <ralf@linux-mips.org>2006-10-08 19:15:28 -0400
commit6dab2f4564b3dc8747452e256fb779f320ff5650 (patch)
treeecde52d0bd23beaca6404bb3cfa29af3ebbb5b2d /arch
parent65542070de7d6cd307657a71ab1712a6c58c0889 (diff)
[MIPS] DEC: pt_regs fixes for buserror handlers
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/dec/ecc-berr.c5
-rw-r--r--arch/mips/dec/kn01-berr.c4
-rw-r--r--arch/mips/dec/kn02xa-berr.c6
3 files changed, 10 insertions, 5 deletions
diff --git a/arch/mips/dec/ecc-berr.c b/arch/mips/dec/ecc-berr.c
index cc24c5ed0c05..3e374d05978f 100644
--- a/arch/mips/dec/ecc-berr.c
+++ b/arch/mips/dec/ecc-berr.c
@@ -24,6 +24,7 @@
24#include <asm/addrspace.h> 24#include <asm/addrspace.h>
25#include <asm/bootinfo.h> 25#include <asm/bootinfo.h>
26#include <asm/cpu.h> 26#include <asm/cpu.h>
27#include <asm/irq_regs.h>
27#include <asm/processor.h> 28#include <asm/processor.h>
28#include <asm/system.h> 29#include <asm/system.h>
29#include <asm/traps.h> 30#include <asm/traps.h>
@@ -200,8 +201,10 @@ int dec_ecc_be_handler(struct pt_regs *regs, int is_fixup)
200 return dec_ecc_be_backend(regs, is_fixup, 0); 201 return dec_ecc_be_backend(regs, is_fixup, 0);
201} 202}
202 203
203irqreturn_t dec_ecc_be_interrupt(int irq, void *dev_id, struct pt_regs *regs) 204irqreturn_t dec_ecc_be_interrupt(int irq, void *dev_id)
204{ 205{
206 struct pt_regs *regs = get_irq_regs();
207
205 int action = dec_ecc_be_backend(regs, 0, 1); 208 int action = dec_ecc_be_backend(regs, 0, 1);
206 209
207 if (action == MIPS_BE_DISCARD) 210 if (action == MIPS_BE_DISCARD)
diff --git a/arch/mips/dec/kn01-berr.c b/arch/mips/dec/kn01-berr.c
index b9271db9bc76..f19b4617a0a6 100644
--- a/arch/mips/dec/kn01-berr.c
+++ b/arch/mips/dec/kn01-berr.c
@@ -150,10 +150,10 @@ int dec_kn01_be_handler(struct pt_regs *regs, int is_fixup)
150 return dec_kn01_be_backend(regs, is_fixup, 0); 150 return dec_kn01_be_backend(regs, is_fixup, 0);
151} 151}
152 152
153irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id, 153irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id)
154 struct pt_regs *regs)
155{ 154{
156 volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR); 155 volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR);
156 struct pt_regs *regs = get_irq_regs();
157 int action; 157 int action;
158 158
159 if (!(*csr & KN01_CSR_MEMERR)) 159 if (!(*csr & KN01_CSR_MEMERR))
diff --git a/arch/mips/dec/kn02xa-berr.c b/arch/mips/dec/kn02xa-berr.c
index 6cd3f94f79fe..7a053aadcd3a 100644
--- a/arch/mips/dec/kn02xa-berr.c
+++ b/arch/mips/dec/kn02xa-berr.c
@@ -21,6 +21,8 @@
21#include <linux/types.h> 21#include <linux/types.h>
22 22
23#include <asm/addrspace.h> 23#include <asm/addrspace.h>
24#include <asm/irq_regs.h>
25#include <asm/ptrace.h>
24#include <asm/system.h> 26#include <asm/system.h>
25#include <asm/traps.h> 27#include <asm/traps.h>
26 28
@@ -104,9 +106,9 @@ int dec_kn02xa_be_handler(struct pt_regs *regs, int is_fixup)
104 return dec_kn02xa_be_backend(regs, is_fixup, 0); 106 return dec_kn02xa_be_backend(regs, is_fixup, 0);
105} 107}
106 108
107irqreturn_t dec_kn02xa_be_interrupt(int irq, void *dev_id, 109irqreturn_t dec_kn02xa_be_interrupt(int irq, void *dev_id)
108 struct pt_regs *regs)
109{ 110{
111 struct pt_regs *regs = get_irq_regs();
110 int action = dec_kn02xa_be_backend(regs, 0, 1); 112 int action = dec_kn02xa_be_backend(regs, 0, 1);
111 113
112 if (action == MIPS_BE_DISCARD) 114 if (action == MIPS_BE_DISCARD)