Commit 6dab2f45 authored by Ralf Baechle's avatar Ralf Baechle

[MIPS] DEC: pt_regs fixes for buserror handlers

Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 65542070
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <asm/addrspace.h> #include <asm/addrspace.h>
#include <asm/bootinfo.h> #include <asm/bootinfo.h>
#include <asm/cpu.h> #include <asm/cpu.h>
#include <asm/irq_regs.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/traps.h> #include <asm/traps.h>
...@@ -200,8 +201,10 @@ int dec_ecc_be_handler(struct pt_regs *regs, int is_fixup) ...@@ -200,8 +201,10 @@ int dec_ecc_be_handler(struct pt_regs *regs, int is_fixup)
return dec_ecc_be_backend(regs, is_fixup, 0); return dec_ecc_be_backend(regs, is_fixup, 0);
} }
irqreturn_t dec_ecc_be_interrupt(int irq, void *dev_id, struct pt_regs *regs) irqreturn_t dec_ecc_be_interrupt(int irq, void *dev_id)
{ {
struct pt_regs *regs = get_irq_regs();
int action = dec_ecc_be_backend(regs, 0, 1); int action = dec_ecc_be_backend(regs, 0, 1);
if (action == MIPS_BE_DISCARD) if (action == MIPS_BE_DISCARD)
......
...@@ -150,10 +150,10 @@ int dec_kn01_be_handler(struct pt_regs *regs, int is_fixup) ...@@ -150,10 +150,10 @@ int dec_kn01_be_handler(struct pt_regs *regs, int is_fixup)
return dec_kn01_be_backend(regs, is_fixup, 0); return dec_kn01_be_backend(regs, is_fixup, 0);
} }
irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id, irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id)
struct pt_regs *regs)
{ {
volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR); volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR);
struct pt_regs *regs = get_irq_regs();
int action; int action;
if (!(*csr & KN01_CSR_MEMERR)) if (!(*csr & KN01_CSR_MEMERR))
......
...@@ -21,6 +21,8 @@ ...@@ -21,6 +21,8 @@
#include <linux/types.h> #include <linux/types.h>
#include <asm/addrspace.h> #include <asm/addrspace.h>
#include <asm/irq_regs.h>
#include <asm/ptrace.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/traps.h> #include <asm/traps.h>
...@@ -104,9 +106,9 @@ int dec_kn02xa_be_handler(struct pt_regs *regs, int is_fixup) ...@@ -104,9 +106,9 @@ int dec_kn02xa_be_handler(struct pt_regs *regs, int is_fixup)
return dec_kn02xa_be_backend(regs, is_fixup, 0); return dec_kn02xa_be_backend(regs, is_fixup, 0);
} }
irqreturn_t dec_kn02xa_be_interrupt(int irq, void *dev_id, irqreturn_t dec_kn02xa_be_interrupt(int irq, void *dev_id)
struct pt_regs *regs)
{ {
struct pt_regs *regs = get_irq_regs();
int action = dec_kn02xa_be_backend(regs, 0, 1); int action = dec_kn02xa_be_backend(regs, 0, 1);
if (action == MIPS_BE_DISCARD) if (action == MIPS_BE_DISCARD)
......
...@@ -49,8 +49,7 @@ struct pt_regs; ...@@ -49,8 +49,7 @@ struct pt_regs;
extern void dec_ecc_be_init(void); extern void dec_ecc_be_init(void);
extern int dec_ecc_be_handler(struct pt_regs *regs, int is_fixup); extern int dec_ecc_be_handler(struct pt_regs *regs, int is_fixup);
extern irqreturn_t dec_ecc_be_interrupt(int irq, void *dev_id, extern irqreturn_t dec_ecc_be_interrupt(int irq, void *dev_id);
struct pt_regs *regs);
#endif #endif
#endif /* __ASM_MIPS_DEC_ECC_H */ #endif /* __ASM_MIPS_DEC_ECC_H */
...@@ -84,8 +84,7 @@ extern spinlock_t kn01_lock; ...@@ -84,8 +84,7 @@ extern spinlock_t kn01_lock;
extern void dec_kn01_be_init(void); extern void dec_kn01_be_init(void);
extern int dec_kn01_be_handler(struct pt_regs *regs, int is_fixup); extern int dec_kn01_be_handler(struct pt_regs *regs, int is_fixup);
extern irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id, extern irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id);
struct pt_regs *regs);
#endif #endif
#endif /* __ASM_MIPS_DEC_KN01_H */ #endif /* __ASM_MIPS_DEC_KN01_H */
...@@ -78,8 +78,7 @@ struct pt_regs; ...@@ -78,8 +78,7 @@ struct pt_regs;
extern void dec_kn02xa_be_init(void); extern void dec_kn02xa_be_init(void);
extern int dec_kn02xa_be_handler(struct pt_regs *regs, int is_fixup); extern int dec_kn02xa_be_handler(struct pt_regs *regs, int is_fixup);
extern irqreturn_t dec_kn02xa_be_interrupt(int irq, void *dev_id, extern irqreturn_t dec_kn02xa_be_interrupt(int irq, void *dev_id);
struct pt_regs *regs);
#endif #endif
#endif /* __ASM_MIPS_DEC_KN02XA_H */ #endif /* __ASM_MIPS_DEC_KN02XA_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment