diff options
author | Christoph Hellwig <hch@lst.de> | 2007-05-08 03:27:03 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 14:15:04 -0400 |
commit | 1eeb66a1bb973534dc3d064920a5ca683823372e (patch) | |
tree | 19c22d611e6adefb352dbc107b859e4d13ba38c1 /arch/ia64 | |
parent | e3869792990f708c97be5877499cada70d469bd3 (diff) |
move die notifier handling to common code
This patch moves the die notifier handling to common code. Previous
various architectures had exactly the same code for it. Note that the new
code is compiled unconditionally, this should be understood as an appel to
the other architecture maintainer to implement support for it aswell (aka
sprinkling a notify_die or two in the proper place)
arm had a notifiy_die that did something totally different, I renamed it to
arm_notify_die as part of the patch and made it static to the file it's
declared and used at. avr32 used to pass slightly less information through
this interface and I brought it into line with the other architectures.
[akpm@linux-foundation.org: build fix]
[akpm@linux-foundation.org: fix vmalloc_sync_all bustage]
[bryan.wu@analog.com: fix vmalloc_sync_all in nommu]
Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: <linux-arch@vger.kernel.org>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/kernel/crash.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/kprobes.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/mca.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/traps.c | 18 | ||||
-rw-r--r-- | arch/ia64/mm/fault.c | 2 | ||||
-rw-r--r-- | arch/ia64/sn/kernel/xpc_main.c | 4 |
7 files changed, 8 insertions, 24 deletions
diff --git a/arch/ia64/kernel/crash.c b/arch/ia64/kernel/crash.c index 80a94e707827..3d51a3f77017 100644 --- a/arch/ia64/kernel/crash.c +++ b/arch/ia64/kernel/crash.c | |||
@@ -16,8 +16,8 @@ | |||
16 | #include <linux/elfcore.h> | 16 | #include <linux/elfcore.h> |
17 | #include <linux/sysctl.h> | 17 | #include <linux/sysctl.h> |
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/kdebug.h> | ||
19 | 20 | ||
20 | #include <asm/kdebug.h> | ||
21 | #include <asm/mca.h> | 21 | #include <asm/mca.h> |
22 | 22 | ||
23 | int kdump_status[NR_CPUS]; | 23 | int kdump_status[NR_CPUS]; |
diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c index 6cb56dd4056d..779fe00c9025 100644 --- a/arch/ia64/kernel/kprobes.c +++ b/arch/ia64/kernel/kprobes.c | |||
@@ -29,9 +29,9 @@ | |||
29 | #include <linux/slab.h> | 29 | #include <linux/slab.h> |
30 | #include <linux/preempt.h> | 30 | #include <linux/preempt.h> |
31 | #include <linux/moduleloader.h> | 31 | #include <linux/moduleloader.h> |
32 | #include <linux/kdebug.h> | ||
32 | 33 | ||
33 | #include <asm/pgtable.h> | 34 | #include <asm/pgtable.h> |
34 | #include <asm/kdebug.h> | ||
35 | #include <asm/sections.h> | 35 | #include <asm/sections.h> |
36 | #include <asm/uaccess.h> | 36 | #include <asm/uaccess.h> |
37 | 37 | ||
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c index 491687f84fb5..65e3b81a442e 100644 --- a/arch/ia64/kernel/mca.c +++ b/arch/ia64/kernel/mca.c | |||
@@ -72,9 +72,9 @@ | |||
72 | #include <linux/smp.h> | 72 | #include <linux/smp.h> |
73 | #include <linux/workqueue.h> | 73 | #include <linux/workqueue.h> |
74 | #include <linux/cpumask.h> | 74 | #include <linux/cpumask.h> |
75 | #include <linux/kdebug.h> | ||
75 | 76 | ||
76 | #include <asm/delay.h> | 77 | #include <asm/delay.h> |
77 | #include <asm/kdebug.h> | ||
78 | #include <asm/machvec.h> | 78 | #include <asm/machvec.h> |
79 | #include <asm/meminit.h> | 79 | #include <asm/meminit.h> |
80 | #include <asm/page.h> | 80 | #include <asm/page.h> |
diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c index ae96d4176995..7ab36c772e21 100644 --- a/arch/ia64/kernel/process.c +++ b/arch/ia64/kernel/process.c | |||
@@ -27,13 +27,13 @@ | |||
27 | #include <linux/efi.h> | 27 | #include <linux/efi.h> |
28 | #include <linux/interrupt.h> | 28 | #include <linux/interrupt.h> |
29 | #include <linux/delay.h> | 29 | #include <linux/delay.h> |
30 | #include <linux/kdebug.h> | ||
30 | 31 | ||
31 | #include <asm/cpu.h> | 32 | #include <asm/cpu.h> |
32 | #include <asm/delay.h> | 33 | #include <asm/delay.h> |
33 | #include <asm/elf.h> | 34 | #include <asm/elf.h> |
34 | #include <asm/ia32.h> | 35 | #include <asm/ia32.h> |
35 | #include <asm/irq.h> | 36 | #include <asm/irq.h> |
36 | #include <asm/kdebug.h> | ||
37 | #include <asm/kexec.h> | 37 | #include <asm/kexec.h> |
38 | #include <asm/pgalloc.h> | 38 | #include <asm/pgalloc.h> |
39 | #include <asm/processor.h> | 39 | #include <asm/processor.h> |
diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c index 765cbe5ba6ae..5bfb8be02b70 100644 --- a/arch/ia64/kernel/traps.c +++ b/arch/ia64/kernel/traps.c | |||
@@ -16,33 +16,17 @@ | |||
16 | #include <linux/hardirq.h> | 16 | #include <linux/hardirq.h> |
17 | #include <linux/kprobes.h> | 17 | #include <linux/kprobes.h> |
18 | #include <linux/delay.h> /* for ssleep() */ | 18 | #include <linux/delay.h> /* for ssleep() */ |
19 | #include <linux/kdebug.h> | ||
19 | 20 | ||
20 | #include <asm/fpswa.h> | 21 | #include <asm/fpswa.h> |
21 | #include <asm/ia32.h> | 22 | #include <asm/ia32.h> |
22 | #include <asm/intrinsics.h> | 23 | #include <asm/intrinsics.h> |
23 | #include <asm/processor.h> | 24 | #include <asm/processor.h> |
24 | #include <asm/uaccess.h> | 25 | #include <asm/uaccess.h> |
25 | #include <asm/kdebug.h> | ||
26 | 26 | ||
27 | fpswa_interface_t *fpswa_interface; | 27 | fpswa_interface_t *fpswa_interface; |
28 | EXPORT_SYMBOL(fpswa_interface); | 28 | EXPORT_SYMBOL(fpswa_interface); |
29 | 29 | ||
30 | ATOMIC_NOTIFIER_HEAD(ia64die_chain); | ||
31 | |||
32 | int | ||
33 | register_die_notifier(struct notifier_block *nb) | ||
34 | { | ||
35 | return atomic_notifier_chain_register(&ia64die_chain, nb); | ||
36 | } | ||
37 | EXPORT_SYMBOL_GPL(register_die_notifier); | ||
38 | |||
39 | int | ||
40 | unregister_die_notifier(struct notifier_block *nb) | ||
41 | { | ||
42 | return atomic_notifier_chain_unregister(&ia64die_chain, nb); | ||
43 | } | ||
44 | EXPORT_SYMBOL_GPL(unregister_die_notifier); | ||
45 | |||
46 | void __init | 30 | void __init |
47 | trap_init (void) | 31 | trap_init (void) |
48 | { | 32 | { |
diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c index 59f3ab937615..cb4791d17cce 100644 --- a/arch/ia64/mm/fault.c +++ b/arch/ia64/mm/fault.c | |||
@@ -10,12 +10,12 @@ | |||
10 | #include <linux/smp_lock.h> | 10 | #include <linux/smp_lock.h> |
11 | #include <linux/interrupt.h> | 11 | #include <linux/interrupt.h> |
12 | #include <linux/kprobes.h> | 12 | #include <linux/kprobes.h> |
13 | #include <linux/kdebug.h> | ||
13 | 14 | ||
14 | #include <asm/pgtable.h> | 15 | #include <asm/pgtable.h> |
15 | #include <asm/processor.h> | 16 | #include <asm/processor.h> |
16 | #include <asm/system.h> | 17 | #include <asm/system.h> |
17 | #include <asm/uaccess.h> | 18 | #include <asm/uaccess.h> |
18 | #include <asm/kdebug.h> | ||
19 | 19 | ||
20 | extern void die (char *, struct pt_regs *, long); | 20 | extern void die (char *, struct pt_regs *, long); |
21 | 21 | ||
diff --git a/arch/ia64/sn/kernel/xpc_main.c b/arch/ia64/sn/kernel/xpc_main.c index 68355ef6f841..e336e1692a73 100644 --- a/arch/ia64/sn/kernel/xpc_main.c +++ b/arch/ia64/sn/kernel/xpc_main.c | |||
@@ -55,9 +55,9 @@ | |||
55 | #include <linux/delay.h> | 55 | #include <linux/delay.h> |
56 | #include <linux/reboot.h> | 56 | #include <linux/reboot.h> |
57 | #include <linux/completion.h> | 57 | #include <linux/completion.h> |
58 | #include <linux/kdebug.h> | ||
58 | #include <asm/sn/intr.h> | 59 | #include <asm/sn/intr.h> |
59 | #include <asm/sn/sn_sal.h> | 60 | #include <asm/sn/sn_sal.h> |
60 | #include <asm/kdebug.h> | ||
61 | #include <asm/uaccess.h> | 61 | #include <asm/uaccess.h> |
62 | #include <asm/sn/xpc.h> | 62 | #include <asm/sn/xpc.h> |
63 | 63 | ||
@@ -1332,7 +1332,7 @@ xpc_init(void) | |||
1332 | dev_warn(xpc_part, "can't register reboot notifier\n"); | 1332 | dev_warn(xpc_part, "can't register reboot notifier\n"); |
1333 | } | 1333 | } |
1334 | 1334 | ||
1335 | /* add ourselves to the die_notifier list (i.e., ia64die_chain) */ | 1335 | /* add ourselves to the die_notifier list */ |
1336 | ret = register_die_notifier(&xpc_die_notifier); | 1336 | ret = register_die_notifier(&xpc_die_notifier); |
1337 | if (ret != 0) { | 1337 | if (ret != 0) { |
1338 | dev_warn(xpc_part, "can't register die notifier\n"); | 1338 | dev_warn(xpc_part, "can't register die notifier\n"); |