diff options
| author | Jiri Slaby <jslaby@suse.cz> | 2016-05-20 20:00:16 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-20 20:58:30 -0400 |
| commit | 5f56a5dfdb9bcb3bca03df59980d4d2f012cbb53 (patch) | |
| tree | 72f4f35d7d23295902f14fcb6687be1e172ae48f /arch | |
| parent | 2ec656eb4054ce55e6d453b8614ef9669e84c542 (diff) | |
exit_thread: remove empty bodies
Define HAVE_EXIT_THREAD for archs which want to do something in
exit_thread. For others, let's define exit_thread as an empty inline.
This is a cleanup before we change the prototype of exit_thread to
accept a task parameter.
[akpm@linux-foundation.org: fix mips]
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
Cc: Aurelien Jacquiot <a-jacquiot@ti.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chen Liqin <liqin.linux@gmail.com>
Cc: Chris Metcalf <cmetcalf@mellanox.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: David Howells <dhowells@redhat.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Jonas Bonn <jonas@southpole.se>
Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
Cc: Lennox Wu <lennox.wu@gmail.com>
Cc: Ley Foon Tan <lftan@altera.com>
Cc: Mark Salter <msalter@redhat.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Mikael Starvik <starvik@axis.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Rich Felker <dalias@libc.org>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Richard Kuo <rkuo@codeaurora.org>
Cc: Richard Weinberger <richard@nod.at>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Steven Miao <realmz6@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
35 files changed, 17 insertions, 140 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index 81869a5e7e17..0f298f9123dc 100644 --- a/arch/Kconfig +++ b/arch/Kconfig | |||
| @@ -517,6 +517,11 @@ config HAVE_ARCH_MMAP_RND_BITS | |||
| 517 | - ARCH_MMAP_RND_BITS_MIN | 517 | - ARCH_MMAP_RND_BITS_MIN |
| 518 | - ARCH_MMAP_RND_BITS_MAX | 518 | - ARCH_MMAP_RND_BITS_MAX |
| 519 | 519 | ||
| 520 | config HAVE_EXIT_THREAD | ||
| 521 | bool | ||
| 522 | help | ||
| 523 | An architecture implements exit_thread. | ||
| 524 | |||
| 520 | config ARCH_MMAP_RND_BITS_MIN | 525 | config ARCH_MMAP_RND_BITS_MIN |
| 521 | int | 526 | int |
| 522 | 527 | ||
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c index 84d13263ce46..b483156698d5 100644 --- a/arch/alpha/kernel/process.c +++ b/arch/alpha/kernel/process.c | |||
| @@ -210,14 +210,6 @@ start_thread(struct pt_regs * regs, unsigned long pc, unsigned long sp) | |||
| 210 | } | 210 | } |
| 211 | EXPORT_SYMBOL(start_thread); | 211 | EXPORT_SYMBOL(start_thread); |
| 212 | 212 | ||
| 213 | /* | ||
| 214 | * Free current thread data structures etc.. | ||
| 215 | */ | ||
| 216 | void | ||
| 217 | exit_thread(void) | ||
| 218 | { | ||
| 219 | } | ||
| 220 | |||
| 221 | void | 213 | void |
| 222 | flush_thread(void) | 214 | flush_thread(void) |
| 223 | { | 215 | { |
diff --git a/arch/arc/kernel/process.c b/arch/arc/kernel/process.c index a3f750e76b68..b5db9e7fd649 100644 --- a/arch/arc/kernel/process.c +++ b/arch/arc/kernel/process.c | |||
| @@ -183,13 +183,6 @@ void flush_thread(void) | |||
| 183 | { | 183 | { |
| 184 | } | 184 | } |
| 185 | 185 | ||
| 186 | /* | ||
| 187 | * Free any architecture-specific thread data structures, etc. | ||
| 188 | */ | ||
| 189 | void exit_thread(void) | ||
| 190 | { | ||
| 191 | } | ||
| 192 | |||
| 193 | int dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpu) | 186 | int dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpu) |
| 194 | { | 187 | { |
| 195 | return 0; | 188 | return 0; |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b99d25b4133e..956d3575426c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
| @@ -50,6 +50,7 @@ config ARM | |||
| 50 | select HAVE_DMA_CONTIGUOUS if MMU | 50 | select HAVE_DMA_CONTIGUOUS if MMU |
| 51 | select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL) && !CPU_ENDIAN_BE32 && MMU | 51 | select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL) && !CPU_ENDIAN_BE32 && MMU |
| 52 | select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU | 52 | select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU |
| 53 | select HAVE_EXIT_THREAD | ||
| 53 | select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL) | 54 | select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL) |
| 54 | select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL) | 55 | select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL) |
| 55 | select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) | 56 | select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) |
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c index 48eea6866c67..6cd2612236dc 100644 --- a/arch/arm64/kernel/process.c +++ b/arch/arm64/kernel/process.c | |||
| @@ -200,13 +200,6 @@ void show_regs(struct pt_regs * regs) | |||
| 200 | __show_regs(regs); | 200 | __show_regs(regs); |
| 201 | } | 201 | } |
| 202 | 202 | ||
| 203 | /* | ||
| 204 | * Free current thread data structures etc.. | ||
| 205 | */ | ||
| 206 | void exit_thread(void) | ||
| 207 | { | ||
| 208 | } | ||
| 209 | |||
| 210 | static void tls_thread_flush(void) | 203 | static void tls_thread_flush(void) |
| 211 | { | 204 | { |
| 212 | asm ("msr tpidr_el0, xzr"); | 205 | asm ("msr tpidr_el0, xzr"); |
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig index 18b88779e701..e43519a2ca89 100644 --- a/arch/avr32/Kconfig +++ b/arch/avr32/Kconfig | |||
| @@ -4,6 +4,7 @@ config AVR32 | |||
| 4 | # that we usually don't need on AVR32. | 4 | # that we usually don't need on AVR32. |
| 5 | select EXPERT | 5 | select EXPERT |
| 6 | select HAVE_CLK | 6 | select HAVE_CLK |
| 7 | select HAVE_EXIT_THREAD | ||
| 7 | select HAVE_OPROFILE | 8 | select HAVE_OPROFILE |
| 8 | select HAVE_KPROBES | 9 | select HAVE_KPROBES |
| 9 | select VIRT_TO_BUS | 10 | select VIRT_TO_BUS |
diff --git a/arch/blackfin/include/asm/processor.h b/arch/blackfin/include/asm/processor.h index 7acd46653df3..0c265aba94ad 100644 --- a/arch/blackfin/include/asm/processor.h +++ b/arch/blackfin/include/asm/processor.h | |||
| @@ -76,13 +76,6 @@ static inline void release_thread(struct task_struct *dead_task) | |||
| 76 | } | 76 | } |
| 77 | 77 | ||
| 78 | /* | 78 | /* |
| 79 | * Free current thread data structures etc.. | ||
| 80 | */ | ||
| 81 | static inline void exit_thread(void) | ||
| 82 | { | ||
| 83 | } | ||
| 84 | |||
| 85 | /* | ||
| 86 | * Return saved PC of a blocked thread. | 79 | * Return saved PC of a blocked thread. |
| 87 | */ | 80 | */ |
| 88 | #define thread_saved_pc(tsk) (tsk->thread.pc) | 81 | #define thread_saved_pc(tsk) (tsk->thread.pc) |
diff --git a/arch/c6x/kernel/process.c b/arch/c6x/kernel/process.c index 3ae9f5a166a0..0ee7686a78f3 100644 --- a/arch/c6x/kernel/process.c +++ b/arch/c6x/kernel/process.c | |||
| @@ -82,10 +82,6 @@ void flush_thread(void) | |||
| 82 | { | 82 | { |
| 83 | } | 83 | } |
| 84 | 84 | ||
| 85 | void exit_thread(void) | ||
| 86 | { | ||
| 87 | } | ||
| 88 | |||
| 89 | /* | 85 | /* |
| 90 | * Do necessary setup to start up a newly executed thread. | 86 | * Do necessary setup to start up a newly executed thread. |
| 91 | */ | 87 | */ |
diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig index 99bda1ba3d2f..5c0ca8ae9293 100644 --- a/arch/cris/Kconfig +++ b/arch/cris/Kconfig | |||
| @@ -59,6 +59,7 @@ config CRIS | |||
| 59 | select GENERIC_IOMAP | 59 | select GENERIC_IOMAP |
| 60 | select MODULES_USE_ELF_RELA | 60 | select MODULES_USE_ELF_RELA |
| 61 | select CLONE_BACKWARDS2 | 61 | select CLONE_BACKWARDS2 |
| 62 | select HAVE_EXIT_THREAD if ETRAX_ARCH_V32 | ||
| 62 | select OLD_SIGSUSPEND | 63 | select OLD_SIGSUSPEND |
| 63 | select OLD_SIGACTION | 64 | select OLD_SIGACTION |
| 64 | select GPIOLIB | 65 | select GPIOLIB |
diff --git a/arch/cris/arch-v10/kernel/process.c b/arch/cris/arch-v10/kernel/process.c index 02b783457be0..96e5afef6b47 100644 --- a/arch/cris/arch-v10/kernel/process.c +++ b/arch/cris/arch-v10/kernel/process.c | |||
| @@ -35,15 +35,6 @@ void default_idle(void) | |||
| 35 | local_irq_enable(); | 35 | local_irq_enable(); |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | /* | ||
| 39 | * Free current thread data structures etc.. | ||
| 40 | */ | ||
| 41 | |||
| 42 | void exit_thread(void) | ||
| 43 | { | ||
| 44 | /* Nothing needs to be done. */ | ||
| 45 | } | ||
| 46 | |||
| 47 | /* if the watchdog is enabled, we can simply disable interrupts and go | 38 | /* if the watchdog is enabled, we can simply disable interrupts and go |
| 48 | * into an eternal loop, and the watchdog will reset the CPU after 0.1s | 39 | * into an eternal loop, and the watchdog will reset the CPU after 0.1s |
| 49 | * if on the other hand the watchdog wasn't enabled, we just enable it and wait | 40 | * if on the other hand the watchdog wasn't enabled, we just enable it and wait |
diff --git a/arch/frv/include/asm/processor.h b/arch/frv/include/asm/processor.h index ae8d423e79d9..73f0a79ad8e6 100644 --- a/arch/frv/include/asm/processor.h +++ b/arch/frv/include/asm/processor.h | |||
| @@ -97,13 +97,6 @@ extern asmlinkage void *restore_user_regs(const struct user_context *target, ... | |||
| 97 | #define forget_segments() do { } while (0) | 97 | #define forget_segments() do { } while (0) |
| 98 | 98 | ||
| 99 | /* | 99 | /* |
| 100 | * Free current thread data structures etc.. | ||
| 101 | */ | ||
| 102 | static inline void exit_thread(void) | ||
| 103 | { | ||
| 104 | } | ||
| 105 | |||
| 106 | /* | ||
| 107 | * Return saved PC of a blocked thread. | 100 | * Return saved PC of a blocked thread. |
| 108 | */ | 101 | */ |
| 109 | extern unsigned long thread_saved_pc(struct task_struct *tsk); | 102 | extern unsigned long thread_saved_pc(struct task_struct *tsk); |
diff --git a/arch/h8300/include/asm/processor.h b/arch/h8300/include/asm/processor.h index 54e3fd83c336..111df7397ac7 100644 --- a/arch/h8300/include/asm/processor.h +++ b/arch/h8300/include/asm/processor.h | |||
| @@ -111,13 +111,6 @@ static inline void release_thread(struct task_struct *dead_task) | |||
| 111 | } | 111 | } |
| 112 | 112 | ||
| 113 | /* | 113 | /* |
| 114 | * Free current thread data structures etc.. | ||
| 115 | */ | ||
| 116 | static inline void exit_thread(void) | ||
| 117 | { | ||
| 118 | } | ||
| 119 | |||
| 120 | /* | ||
| 121 | * Return saved PC of a blocked thread. | 114 | * Return saved PC of a blocked thread. |
| 122 | */ | 115 | */ |
| 123 | unsigned long thread_saved_pc(struct task_struct *tsk); | 116 | unsigned long thread_saved_pc(struct task_struct *tsk); |
diff --git a/arch/hexagon/kernel/process.c b/arch/hexagon/kernel/process.c index a9ebd471823a..d9edfd3fc52a 100644 --- a/arch/hexagon/kernel/process.c +++ b/arch/hexagon/kernel/process.c | |||
| @@ -137,13 +137,6 @@ void release_thread(struct task_struct *dead_task) | |||
| 137 | } | 137 | } |
| 138 | 138 | ||
| 139 | /* | 139 | /* |
| 140 | * Free any architecture-specific thread data structures, etc. | ||
| 141 | */ | ||
| 142 | void exit_thread(void) | ||
| 143 | { | ||
| 144 | } | ||
| 145 | |||
| 146 | /* | ||
| 147 | * Some archs flush debug and FPU info here | 140 | * Some archs flush debug and FPU info here |
| 148 | */ | 141 | */ |
| 149 | void flush_thread(void) | 142 | void flush_thread(void) |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index b534ebab36ea..f80758cb7157 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
| @@ -18,6 +18,7 @@ config IA64 | |||
| 18 | select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI | 18 | select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI |
| 19 | select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI | 19 | select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI |
| 20 | select HAVE_UNSTABLE_SCHED_CLOCK | 20 | select HAVE_UNSTABLE_SCHED_CLOCK |
| 21 | select HAVE_EXIT_THREAD | ||
| 21 | select HAVE_IDE | 22 | select HAVE_IDE |
| 22 | select HAVE_OPROFILE | 23 | select HAVE_OPROFILE |
| 23 | select HAVE_KPROBES | 24 | select HAVE_KPROBES |
diff --git a/arch/m32r/kernel/process.c b/arch/m32r/kernel/process.c index e69221d581d5..a88b1f01e91f 100644 --- a/arch/m32r/kernel/process.c +++ b/arch/m32r/kernel/process.c | |||
| @@ -101,15 +101,6 @@ void show_regs(struct pt_regs * regs) | |||
| 101 | #endif | 101 | #endif |
| 102 | } | 102 | } |
| 103 | 103 | ||
| 104 | /* | ||
| 105 | * Free current thread data structures etc.. | ||
| 106 | */ | ||
| 107 | void exit_thread(void) | ||
| 108 | { | ||
| 109 | /* Nothing to do. */ | ||
| 110 | DPRINTK("pid = %d\n", current->pid); | ||
| 111 | } | ||
| 112 | |||
| 113 | void flush_thread(void) | 104 | void flush_thread(void) |
| 114 | { | 105 | { |
| 115 | DPRINTK("pid = %d\n", current->pid); | 106 | DPRINTK("pid = %d\n", current->pid); |
diff --git a/arch/m68k/include/asm/processor.h b/arch/m68k/include/asm/processor.h index 20dda1d4b860..a6ce2ec8d693 100644 --- a/arch/m68k/include/asm/processor.h +++ b/arch/m68k/include/asm/processor.h | |||
| @@ -153,13 +153,6 @@ static inline void release_thread(struct task_struct *dead_task) | |||
| 153 | { | 153 | { |
| 154 | } | 154 | } |
| 155 | 155 | ||
| 156 | /* | ||
| 157 | * Free current thread data structures etc.. | ||
| 158 | */ | ||
| 159 | static inline void exit_thread(void) | ||
| 160 | { | ||
| 161 | } | ||
| 162 | |||
| 163 | extern unsigned long thread_saved_pc(struct task_struct *tsk); | 156 | extern unsigned long thread_saved_pc(struct task_struct *tsk); |
| 164 | 157 | ||
| 165 | unsigned long get_wchan(struct task_struct *p); | 158 | unsigned long get_wchan(struct task_struct *p); |
diff --git a/arch/metag/Kconfig b/arch/metag/Kconfig index a0fa88da3e31..e47a08d72819 100644 --- a/arch/metag/Kconfig +++ b/arch/metag/Kconfig | |||
| @@ -11,6 +11,7 @@ config METAG | |||
| 11 | select HAVE_DEBUG_KMEMLEAK | 11 | select HAVE_DEBUG_KMEMLEAK |
| 12 | select HAVE_DEBUG_STACKOVERFLOW | 12 | select HAVE_DEBUG_STACKOVERFLOW |
| 13 | select HAVE_DYNAMIC_FTRACE | 13 | select HAVE_DYNAMIC_FTRACE |
| 14 | select HAVE_EXIT_THREAD | ||
| 14 | select HAVE_FTRACE_MCOUNT_RECORD | 15 | select HAVE_FTRACE_MCOUNT_RECORD |
| 15 | select HAVE_FUNCTION_TRACER | 16 | select HAVE_FUNCTION_TRACER |
| 16 | select HAVE_KERNEL_BZIP2 | 17 | select HAVE_KERNEL_BZIP2 |
diff --git a/arch/metag/include/asm/processor.h b/arch/metag/include/asm/processor.h index 0838ca699764..a0333ebcac35 100644 --- a/arch/metag/include/asm/processor.h +++ b/arch/metag/include/asm/processor.h | |||
| @@ -134,8 +134,6 @@ static inline void release_thread(struct task_struct *dead_task) | |||
| 134 | #define copy_segments(tsk, mm) do { } while (0) | 134 | #define copy_segments(tsk, mm) do { } while (0) |
| 135 | #define release_segments(mm) do { } while (0) | 135 | #define release_segments(mm) do { } while (0) |
| 136 | 136 | ||
| 137 | extern void exit_thread(void); | ||
| 138 | |||
| 139 | /* | 137 | /* |
| 140 | * Return saved PC of a blocked thread. | 138 | * Return saved PC of a blocked thread. |
| 141 | */ | 139 | */ |
diff --git a/arch/microblaze/include/asm/processor.h b/arch/microblaze/include/asm/processor.h index 497a988d79c2..c38d0dd91134 100644 --- a/arch/microblaze/include/asm/processor.h +++ b/arch/microblaze/include/asm/processor.h | |||
| @@ -70,11 +70,6 @@ static inline void release_thread(struct task_struct *dead_task) | |||
| 70 | { | 70 | { |
| 71 | } | 71 | } |
| 72 | 72 | ||
| 73 | /* Free all resources held by a thread. */ | ||
| 74 | static inline void exit_thread(void) | ||
| 75 | { | ||
| 76 | } | ||
| 77 | |||
| 78 | extern unsigned long thread_saved_pc(struct task_struct *t); | 73 | extern unsigned long thread_saved_pc(struct task_struct *t); |
| 79 | 74 | ||
| 80 | extern unsigned long get_wchan(struct task_struct *p); | 75 | extern unsigned long get_wchan(struct task_struct *p); |
| @@ -127,11 +122,6 @@ static inline void release_thread(struct task_struct *dead_task) | |||
| 127 | { | 122 | { |
| 128 | } | 123 | } |
| 129 | 124 | ||
| 130 | /* Free current thread data structures etc. */ | ||
| 131 | static inline void exit_thread(void) | ||
| 132 | { | ||
| 133 | } | ||
| 134 | |||
| 135 | /* Return saved (kernel) PC of a blocked thread. */ | 125 | /* Return saved (kernel) PC of a blocked thread. */ |
| 136 | # define thread_saved_pc(tsk) \ | 126 | # define thread_saved_pc(tsk) \ |
| 137 | ((tsk)->thread.regs ? (tsk)->thread.regs->r15 : 0) | 127 | ((tsk)->thread.regs ? (tsk)->thread.regs->r15 : 0) |
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c index a6b3dc54260a..411c971e3417 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c | |||
| @@ -73,10 +73,6 @@ void start_thread(struct pt_regs * regs, unsigned long pc, unsigned long sp) | |||
| 73 | regs->regs[29] = sp; | 73 | regs->regs[29] = sp; |
| 74 | } | 74 | } |
| 75 | 75 | ||
| 76 | void exit_thread(void) | ||
| 77 | { | ||
| 78 | } | ||
| 79 | |||
| 80 | int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src) | 76 | int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src) |
| 81 | { | 77 | { |
| 82 | /* | 78 | /* |
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig index 06ddb5501ab1..9627e81a6cbb 100644 --- a/arch/mn10300/Kconfig +++ b/arch/mn10300/Kconfig | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | config MN10300 | 1 | config MN10300 |
| 2 | def_bool y | 2 | def_bool y |
| 3 | select HAVE_EXIT_THREAD | ||
| 3 | select HAVE_OPROFILE | 4 | select HAVE_OPROFILE |
| 4 | select HAVE_UID16 | 5 | select HAVE_UID16 |
| 5 | select GENERIC_IRQ_SHOW | 6 | select GENERIC_IRQ_SHOW |
diff --git a/arch/nios2/include/asm/processor.h b/arch/nios2/include/asm/processor.h index c2ba45c159c7..1c953f0cadbf 100644 --- a/arch/nios2/include/asm/processor.h +++ b/arch/nios2/include/asm/processor.h | |||
| @@ -75,11 +75,6 @@ static inline void release_thread(struct task_struct *dead_task) | |||
| 75 | { | 75 | { |
| 76 | } | 76 | } |
| 77 | 77 | ||
| 78 | /* Free current thread data structures etc.. */ | ||
| 79 | static inline void exit_thread(void) | ||
| 80 | { | ||
| 81 | } | ||
| 82 | |||
| 83 | /* Return saved PC of a blocked thread. */ | 78 | /* Return saved PC of a blocked thread. */ |
| 84 | #define thread_saved_pc(tsk) ((tsk)->thread.kregs->ea) | 79 | #define thread_saved_pc(tsk) ((tsk)->thread.kregs->ea) |
| 85 | 80 | ||
diff --git a/arch/openrisc/include/asm/processor.h b/arch/openrisc/include/asm/processor.h index 4d235e3d2534..70334c9f7d24 100644 --- a/arch/openrisc/include/asm/processor.h +++ b/arch/openrisc/include/asm/processor.h | |||
| @@ -85,15 +85,6 @@ void release_thread(struct task_struct *); | |||
| 85 | unsigned long get_wchan(struct task_struct *p); | 85 | unsigned long get_wchan(struct task_struct *p); |
| 86 | 86 | ||
| 87 | /* | 87 | /* |
| 88 | * Free current thread data structures etc.. | ||
| 89 | */ | ||
| 90 | |||
| 91 | extern inline void exit_thread(void) | ||
| 92 | { | ||
| 93 | /* Nothing needs to be done. */ | ||
| 94 | } | ||
| 95 | |||
| 96 | /* | ||
| 97 | * Return saved PC of a blocked thread. For now, this is the "user" PC | 88 | * Return saved PC of a blocked thread. For now, this is the "user" PC |
| 98 | */ | 89 | */ |
| 99 | extern unsigned long thread_saved_pc(struct task_struct *t); | 90 | extern unsigned long thread_saved_pc(struct task_struct *t); |
diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c index 809905a811ed..40639439d8b3 100644 --- a/arch/parisc/kernel/process.c +++ b/arch/parisc/kernel/process.c | |||
| @@ -144,13 +144,6 @@ void machine_power_off(void) | |||
| 144 | void (*pm_power_off)(void) = machine_power_off; | 144 | void (*pm_power_off)(void) = machine_power_off; |
| 145 | EXPORT_SYMBOL(pm_power_off); | 145 | EXPORT_SYMBOL(pm_power_off); |
| 146 | 146 | ||
| 147 | /* | ||
| 148 | * Free current thread data structures etc.. | ||
| 149 | */ | ||
| 150 | void exit_thread(void) | ||
| 151 | { | ||
| 152 | } | ||
| 153 | |||
| 154 | void flush_thread(void) | 147 | void flush_thread(void) |
| 155 | { | 148 | { |
| 156 | /* Only needs to handle fpu stuff or perf monitors. | 149 | /* Only needs to handle fpu stuff or perf monitors. |
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index ea8a28fd6f31..e2f12cbcade9 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c | |||
| @@ -1329,10 +1329,6 @@ void show_regs(struct pt_regs * regs) | |||
| 1329 | show_instructions(regs); | 1329 | show_instructions(regs); |
| 1330 | } | 1330 | } |
| 1331 | 1331 | ||
| 1332 | void exit_thread(void) | ||
| 1333 | { | ||
| 1334 | } | ||
| 1335 | |||
| 1336 | void flush_thread(void) | 1332 | void flush_thread(void) |
| 1337 | { | 1333 | { |
| 1338 | #ifdef CONFIG_HAVE_HW_BREAKPOINT | 1334 | #ifdef CONFIG_HAVE_HW_BREAKPOINT |
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index de0fcc08dff5..e2c9aaaf64b2 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
| @@ -134,6 +134,7 @@ config S390 | |||
| 134 | select HAVE_DMA_API_DEBUG | 134 | select HAVE_DMA_API_DEBUG |
| 135 | select HAVE_DYNAMIC_FTRACE | 135 | select HAVE_DYNAMIC_FTRACE |
| 136 | select HAVE_DYNAMIC_FTRACE_WITH_REGS | 136 | select HAVE_DYNAMIC_FTRACE_WITH_REGS |
| 137 | select HAVE_EXIT_THREAD | ||
| 137 | select HAVE_FTRACE_MCOUNT_RECORD | 138 | select HAVE_FTRACE_MCOUNT_RECORD |
| 138 | select HAVE_FUNCTION_GRAPH_TRACER | 139 | select HAVE_FUNCTION_GRAPH_TRACER |
| 139 | select HAVE_FUNCTION_TRACER | 140 | select HAVE_FUNCTION_TRACER |
diff --git a/arch/score/kernel/process.c b/arch/score/kernel/process.c index a1519ad3d49d..aae9480706c2 100644 --- a/arch/score/kernel/process.c +++ b/arch/score/kernel/process.c | |||
| @@ -56,8 +56,6 @@ void start_thread(struct pt_regs *regs, unsigned long pc, unsigned long sp) | |||
| 56 | regs->regs[0] = sp; | 56 | regs->regs[0] = sp; |
| 57 | } | 57 | } |
| 58 | 58 | ||
| 59 | void exit_thread(void) {} | ||
| 60 | |||
| 61 | /* | 59 | /* |
| 62 | * When a process does an "exec", machine state like FPU and debug | 60 | * When a process does an "exec", machine state like FPU and debug |
| 63 | * registers need to be reset. This is a hook function for that. | 61 | * registers need to be reset. This is a hook function for that. |
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 7ed20fc3fc81..cb93af8f8017 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
| @@ -71,6 +71,7 @@ config SUPERH32 | |||
| 71 | 71 | ||
| 72 | config SUPERH64 | 72 | config SUPERH64 |
| 73 | def_bool ARCH = "sh64" | 73 | def_bool ARCH = "sh64" |
| 74 | select HAVE_EXIT_THREAD | ||
| 74 | select KALLSYMS | 75 | select KALLSYMS |
| 75 | 76 | ||
| 76 | config ARCH_DEFCONFIG | 77 | config ARCH_DEFCONFIG |
diff --git a/arch/sh/kernel/process_32.c b/arch/sh/kernel/process_32.c index 2885fc9d9dcd..ee12e9451874 100644 --- a/arch/sh/kernel/process_32.c +++ b/arch/sh/kernel/process_32.c | |||
| @@ -76,13 +76,6 @@ void start_thread(struct pt_regs *regs, unsigned long new_pc, | |||
| 76 | } | 76 | } |
| 77 | EXPORT_SYMBOL(start_thread); | 77 | EXPORT_SYMBOL(start_thread); |
| 78 | 78 | ||
| 79 | /* | ||
| 80 | * Free current thread data structures etc.. | ||
| 81 | */ | ||
| 82 | void exit_thread(void) | ||
| 83 | { | ||
| 84 | } | ||
| 85 | |||
| 86 | void flush_thread(void) | 79 | void flush_thread(void) |
| 87 | { | 80 | { |
| 88 | struct task_struct *tsk = current; | 81 | struct task_struct *tsk = current; |
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index db0a26cffa97..27b3a0ad40a0 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
| @@ -20,6 +20,7 @@ config SPARC | |||
| 20 | select HAVE_OPROFILE | 20 | select HAVE_OPROFILE |
| 21 | select HAVE_ARCH_KGDB if !SMP || SPARC64 | 21 | select HAVE_ARCH_KGDB if !SMP || SPARC64 |
| 22 | select HAVE_ARCH_TRACEHOOK | 22 | select HAVE_ARCH_TRACEHOOK |
| 23 | select HAVE_EXIT_THREAD | ||
| 23 | select SYSCTL_EXCEPTION_TRACE | 24 | select SYSCTL_EXCEPTION_TRACE |
| 24 | select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE | 25 | select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE |
| 25 | select RTC_CLASS | 26 | select RTC_CLASS |
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig index 81719302b056..174746225577 100644 --- a/arch/tile/Kconfig +++ b/arch/tile/Kconfig | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | config TILE | 4 | config TILE |
| 5 | def_bool y | 5 | def_bool y |
| 6 | select HAVE_EXIT_THREAD | ||
| 6 | select HAVE_PERF_EVENTS | 7 | select HAVE_PERF_EVENTS |
| 7 | select USE_PMC if PERF_EVENTS | 8 | select USE_PMC if PERF_EVENTS |
| 8 | select HAVE_DMA_API_DEBUG | 9 | select HAVE_DMA_API_DEBUG |
diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index 48af59aae129..0b04711f1f18 100644 --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c | |||
| @@ -103,10 +103,6 @@ void interrupt_end(void) | |||
| 103 | tracehook_notify_resume(regs); | 103 | tracehook_notify_resume(regs); |
| 104 | } | 104 | } |
| 105 | 105 | ||
| 106 | void exit_thread(void) | ||
| 107 | { | ||
| 108 | } | ||
| 109 | |||
| 110 | int get_current_pid(void) | 106 | int get_current_pid(void) |
| 111 | { | 107 | { |
| 112 | return task_pid_nr(current); | 108 | return task_pid_nr(current); |
diff --git a/arch/unicore32/kernel/process.c b/arch/unicore32/kernel/process.c index b008e9961465..00299c927852 100644 --- a/arch/unicore32/kernel/process.c +++ b/arch/unicore32/kernel/process.c | |||
| @@ -201,13 +201,6 @@ void show_regs(struct pt_regs *regs) | |||
| 201 | __backtrace(); | 201 | __backtrace(); |
| 202 | } | 202 | } |
| 203 | 203 | ||
| 204 | /* | ||
| 205 | * Free current thread data structures etc.. | ||
| 206 | */ | ||
| 207 | void exit_thread(void) | ||
| 208 | { | ||
| 209 | } | ||
| 210 | |||
| 211 | void flush_thread(void) | 204 | void flush_thread(void) |
| 212 | { | 205 | { |
| 213 | struct thread_info *thread = current_thread_info(); | 206 | struct thread_info *thread = current_thread_info(); |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index ace79d2da2c3..8ff5b3be95d4 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
| @@ -105,6 +105,7 @@ config X86 | |||
| 105 | select HAVE_DYNAMIC_FTRACE | 105 | select HAVE_DYNAMIC_FTRACE |
| 106 | select HAVE_DYNAMIC_FTRACE_WITH_REGS | 106 | select HAVE_DYNAMIC_FTRACE_WITH_REGS |
| 107 | select HAVE_EFFICIENT_UNALIGNED_ACCESS | 107 | select HAVE_EFFICIENT_UNALIGNED_ACCESS |
| 108 | select HAVE_EXIT_THREAD | ||
| 108 | select HAVE_FENTRY if X86_64 | 109 | select HAVE_FENTRY if X86_64 |
| 109 | select HAVE_FTRACE_MCOUNT_RECORD | 110 | select HAVE_FTRACE_MCOUNT_RECORD |
| 110 | select HAVE_FUNCTION_GRAPH_FP_TEST | 111 | select HAVE_FUNCTION_GRAPH_FP_TEST |
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index 85257afe71c3..64336f666fb6 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig | |||
| @@ -14,6 +14,7 @@ config XTENSA | |||
| 14 | select GENERIC_PCI_IOMAP | 14 | select GENERIC_PCI_IOMAP |
| 15 | select GENERIC_SCHED_CLOCK | 15 | select GENERIC_SCHED_CLOCK |
| 16 | select HAVE_DMA_API_DEBUG | 16 | select HAVE_DMA_API_DEBUG |
| 17 | select HAVE_EXIT_THREAD | ||
| 17 | select HAVE_FUNCTION_TRACER | 18 | select HAVE_FUNCTION_TRACER |
| 18 | select HAVE_FUTEX_CMPXCHG if !MMU | 19 | select HAVE_FUTEX_CMPXCHG if !MMU |
| 19 | select HAVE_HW_BREAKPOINT if PERF_EVENTS | 20 | select HAVE_HW_BREAKPOINT if PERF_EVENTS |
