sh: Convert to common die chain.
authorPaul Mundt <lethal@linux-sh.org>
Wed, 9 May 2007 01:55:38 +0000 (10:55 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Wed, 9 May 2007 01:55:38 +0000 (10:55 +0900)
This went in immediately after SH added the die chain notifiers,
so move over to that instead..

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/kernel/process.c
arch/sh/kernel/traps.c
arch/sh/mm/fault.c
include/asm-sh/kdebug.h

index 9005b2f12aaa1ec885bb70962ea07203e3a21c0e..d755589ba8b1491ee9ddaab76902525109386b61 100644 (file)
@@ -15,7 +15,7 @@
 #include <linux/pm.h>
 #include <linux/kallsyms.h>
 #include <linux/kexec.h>
-#include <asm/kdebug.h>
+#include <linux/kdebug.h>
 #include <asm/uaccess.h>
 #include <asm/mmu_context.h>
 #include <asm/pgalloc.h>
@@ -500,7 +500,7 @@ asmlinkage void debug_trap_handler(unsigned long r4, unsigned long r5,
        /* Rewind */
        regs->pc -= instruction_size(ctrl_inw(regs->pc - 4));
 
-       if (notify_die(DIE_TRAP, regs, regs->tra & 0xff,
+       if (notify_die(DIE_TRAP, "debug trap", regs, 0, regs->tra & 0xff,
                       SIGTRAP) == NOTIFY_STOP)
                return;
 
@@ -519,7 +519,7 @@ asmlinkage void bug_trap_handler(unsigned long r4, unsigned long r5,
        /* Rewind */
        regs->pc -= instruction_size(ctrl_inw(regs->pc - 4));
 
-       if (notify_die(DIE_TRAP, regs, TRAPA_BUG_OPCODE & 0xff,
+       if (notify_die(DIE_TRAP, "bug trap", regs, 0, TRAPA_BUG_OPCODE & 0xff,
                       SIGTRAP) == NOTIFY_STOP)
                return;
 
index 1446d12ba220cb7e6c6b60c2d8f3397f7ffd6db6..3a197649cd83c6c57227156fbcdd6d06e86ef7a2 100644 (file)
 #include <linux/io.h>
 #include <linux/bug.h>
 #include <linux/debug_locks.h>
+#include <linux/kdebug.h>
 #include <linux/limits.h>
 #include <asm/system.h>
 #include <asm/uaccess.h>
-#include <asm/kdebug.h>
 
 #ifdef CONFIG_SH_KGDB
 #include <asm/kgdb.h>
@@ -76,20 +76,6 @@ static void dump_mem(const char *str, unsigned long bottom, unsigned long top)
        }
 }
 
-ATOMIC_NOTIFIER_HEAD(shdie_chain);
-
-int register_die_notifier(struct notifier_block *nb)
-{
-       return atomic_notifier_chain_register(&shdie_chain, nb);
-}
-EXPORT_SYMBOL(register_die_notifier);
-
-int unregister_die_notifier(struct notifier_block *nb)
-{
-       return atomic_notifier_chain_unregister(&shdie_chain, nb);
-}
-EXPORT_SYMBOL(unregister_die_notifier);
-
 static DEFINE_SPINLOCK(die_lock);
 
 void die(const char * str, struct pt_regs * regs, long err)
index 0ecc117cade4525042e98b8240e1a0ebcda9b882..9207da67ff8a669841170bc73b600f9782d3037d 100644 (file)
@@ -15,7 +15,7 @@
 #include <linux/mm.h>
 #include <linux/hardirq.h>
 #include <linux/kprobes.h>
-#include <asm/kdebug.h>
+#include <linux/kdebug.h>
 #include <asm/system.h>
 #include <asm/mmu_context.h>
 #include <asm/tlbflush.h>
index 493c206297479adb4ffdb7f14457c0e8b8338c13..16578b7c9da12cf3ac7a2100ebaeea7e287fce73 100644 (file)
@@ -2,20 +2,6 @@
 #define __ASM_SH_KDEBUG_H
 
 #include <linux/notifier.h>
-#include <asm-generic/kdebug.h>
-
-struct pt_regs;
-
-struct die_args {
-       struct pt_regs *regs;
-       int trapnr;
-};
-
-int register_die_notifier(struct notifier_block *nb);
-int unregister_die_notifier(struct notifier_block *nb);
-int register_page_fault_notifier(struct notifier_block *nb);
-int unregister_page_fault_notifier(struct notifier_block *nb);
-extern struct atomic_notifier_head shdie_chain;
 
 /* Grossly misnamed. */
 enum die_val {
@@ -23,14 +9,7 @@ enum die_val {
        DIE_PAGE_FAULT,
 };
 
-static inline int notify_die(enum die_val val, struct pt_regs *regs,
-                            int trap, int sig)
-{
-       struct die_args args = {
-               .regs = regs,
-               .trapnr = trap,
-       };
+int register_page_fault_notifier(struct notifier_block *nb);
+int unregister_page_fault_notifier(struct notifier_block *nb);
 
-       return atomic_notifier_call_chain(&shdie_chain, val, &args);
-}
 #endif /* __ASM_SH_KDEBUG_H */