diff options
-rw-r--r-- | arch/alpha/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/arm/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/blackfin/mach-common/smp.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/hexagon/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/smpboot.c | 2 | ||||
-rw-r--r-- | arch/m32r/kernel/smpboot.c | 2 | ||||
-rw-r--r-- | arch/mips/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/mn10300/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/parisc/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/s390/include/asm/smp.h | 2 | ||||
-rw-r--r-- | arch/s390/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/sh/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/smp_32.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/smp_64.c | 2 | ||||
-rw-r--r-- | arch/tile/kernel/smpboot.c | 2 | ||||
-rw-r--r-- | arch/um/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/smp.h | 4 | ||||
-rw-r--r-- | include/linux/smp.h | 2 | ||||
-rw-r--r-- | kernel/cpu.c | 2 |
21 files changed, 23 insertions, 21 deletions
diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c index 50d438db1f6b..68d39470fb52 100644 --- a/arch/alpha/kernel/smp.c +++ b/arch/alpha/kernel/smp.c | |||
@@ -487,7 +487,7 @@ smp_prepare_boot_cpu(void) | |||
487 | } | 487 | } |
488 | 488 | ||
489 | int __cpuinit | 489 | int __cpuinit |
490 | __cpu_up(unsigned int cpu) | 490 | __cpu_up(unsigned int cpu, struct task_struct *tidle) |
491 | { | 491 | { |
492 | smp_boot_one_cpu(cpu); | 492 | smp_boot_one_cpu(cpu); |
493 | 493 | ||
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index addbbe8028c2..f0e2cbbd837d 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
@@ -60,7 +60,7 @@ enum ipi_msg_type { | |||
60 | 60 | ||
61 | static DECLARE_COMPLETION(cpu_running); | 61 | static DECLARE_COMPLETION(cpu_running); |
62 | 62 | ||
63 | int __cpuinit __cpu_up(unsigned int cpu) | 63 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) |
64 | { | 64 | { |
65 | struct cpuinfo_arm *ci = &per_cpu(cpu_data, cpu); | 65 | struct cpuinfo_arm *ci = &per_cpu(cpu_data, cpu); |
66 | struct task_struct *idle = ci->idle; | 66 | struct task_struct *idle = ci->idle; |
diff --git a/arch/blackfin/mach-common/smp.c b/arch/blackfin/mach-common/smp.c index ac8f8a43158c..d0cddd95b0dd 100644 --- a/arch/blackfin/mach-common/smp.c +++ b/arch/blackfin/mach-common/smp.c | |||
@@ -340,7 +340,7 @@ void smp_send_stop(void) | |||
340 | return; | 340 | return; |
341 | } | 341 | } |
342 | 342 | ||
343 | int __cpuinit __cpu_up(unsigned int cpu) | 343 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) |
344 | { | 344 | { |
345 | int ret; | 345 | int ret; |
346 | struct blackfin_cpudata *ci = &per_cpu(cpu_data, cpu); | 346 | struct blackfin_cpudata *ci = &per_cpu(cpu_data, cpu); |
diff --git a/arch/cris/arch-v32/kernel/smp.c b/arch/cris/arch-v32/kernel/smp.c index 0b99df72d2a4..125ee2d7bc87 100644 --- a/arch/cris/arch-v32/kernel/smp.c +++ b/arch/cris/arch-v32/kernel/smp.c | |||
@@ -207,7 +207,7 @@ int setup_profiling_timer(unsigned int multiplier) | |||
207 | */ | 207 | */ |
208 | unsigned long cache_decay_ticks = 1; | 208 | unsigned long cache_decay_ticks = 1; |
209 | 209 | ||
210 | int __cpuinit __cpu_up(unsigned int cpu) | 210 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) |
211 | { | 211 | { |
212 | smp_boot_one_cpu(cpu); | 212 | smp_boot_one_cpu(cpu); |
213 | return cpu_online(cpu) ? 0 : -ENOSYS; | 213 | return cpu_online(cpu) ? 0 : -ENOSYS; |
diff --git a/arch/hexagon/kernel/smp.c b/arch/hexagon/kernel/smp.c index 1298141874a3..93e77e2b17a8 100644 --- a/arch/hexagon/kernel/smp.c +++ b/arch/hexagon/kernel/smp.c | |||
@@ -196,7 +196,7 @@ void __cpuinit start_secondary(void) | |||
196 | * maintains control until "cpu_online(cpu)" is set. | 196 | * maintains control until "cpu_online(cpu)" is set. |
197 | */ | 197 | */ |
198 | 198 | ||
199 | int __cpuinit __cpu_up(unsigned int cpu) | 199 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) |
200 | { | 200 | { |
201 | struct task_struct *idle; | 201 | struct task_struct *idle; |
202 | struct thread_info *thread; | 202 | struct thread_info *thread; |
diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c index 796f6a5b966a..03e4ef3893c9 100644 --- a/arch/ia64/kernel/smpboot.c +++ b/arch/ia64/kernel/smpboot.c | |||
@@ -793,7 +793,7 @@ set_cpu_sibling_map(int cpu) | |||
793 | } | 793 | } |
794 | 794 | ||
795 | int __cpuinit | 795 | int __cpuinit |
796 | __cpu_up (unsigned int cpu) | 796 | __cpu_up(unsigned int cpu, struct task_struct *tidle) |
797 | { | 797 | { |
798 | int ret; | 798 | int ret; |
799 | int sapicid; | 799 | int sapicid; |
diff --git a/arch/m32r/kernel/smpboot.c b/arch/m32r/kernel/smpboot.c index 31541c9b7eb6..a2cfc0abb05c 100644 --- a/arch/m32r/kernel/smpboot.c +++ b/arch/m32r/kernel/smpboot.c | |||
@@ -343,7 +343,7 @@ static void __init do_boot_cpu(int phys_id) | |||
343 | } | 343 | } |
344 | } | 344 | } |
345 | 345 | ||
346 | int __cpuinit __cpu_up(unsigned int cpu_id) | 346 | int __cpuinit __cpu_up(unsigned int cpu_id, struct task_struct *tidle) |
347 | { | 347 | { |
348 | int timeout; | 348 | int timeout; |
349 | 349 | ||
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c index ba9376bf52a1..41079b256092 100644 --- a/arch/mips/kernel/smp.c +++ b/arch/mips/kernel/smp.c | |||
@@ -209,7 +209,7 @@ static void __cpuinit do_fork_idle(struct work_struct *work) | |||
209 | complete(&c_idle->done); | 209 | complete(&c_idle->done); |
210 | } | 210 | } |
211 | 211 | ||
212 | int __cpuinit __cpu_up(unsigned int cpu) | 212 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) |
213 | { | 213 | { |
214 | struct task_struct *idle; | 214 | struct task_struct *idle; |
215 | 215 | ||
diff --git a/arch/mn10300/kernel/smp.c b/arch/mn10300/kernel/smp.c index 910dddf65e44..c6b40dad0d0b 100644 --- a/arch/mn10300/kernel/smp.c +++ b/arch/mn10300/kernel/smp.c | |||
@@ -921,7 +921,7 @@ void initialize_secondary(void) | |||
921 | * __cpu_up - Set smp_commenced_mask for the nominated CPU | 921 | * __cpu_up - Set smp_commenced_mask for the nominated CPU |
922 | * @cpu: The target CPU. | 922 | * @cpu: The target CPU. |
923 | */ | 923 | */ |
924 | int __devinit __cpu_up(unsigned int cpu) | 924 | int __devinit __cpu_up(unsigned int cpu, struct task_struct *tidle) |
925 | { | 925 | { |
926 | int timeout; | 926 | int timeout; |
927 | 927 | ||
diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c index 0bb1d63907f8..eae8cd808f07 100644 --- a/arch/parisc/kernel/smp.c +++ b/arch/parisc/kernel/smp.c | |||
@@ -449,7 +449,7 @@ void smp_cpus_done(unsigned int cpu_max) | |||
449 | } | 449 | } |
450 | 450 | ||
451 | 451 | ||
452 | int __cpuinit __cpu_up(unsigned int cpu) | 452 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) |
453 | { | 453 | { |
454 | if (cpu != 0 && cpu < parisc_max_cpus) | 454 | if (cpu != 0 && cpu < parisc_max_cpus) |
455 | smp_boot_one_cpu(cpu); | 455 | smp_boot_one_cpu(cpu); |
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index d9f94410fd7f..d38030fb3471 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c | |||
@@ -482,7 +482,7 @@ static int __cpuinit create_idle(unsigned int cpu) | |||
482 | return 0; | 482 | return 0; |
483 | } | 483 | } |
484 | 484 | ||
485 | int __cpuinit __cpu_up(unsigned int cpu) | 485 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) |
486 | { | 486 | { |
487 | int rc, c; | 487 | int rc, c; |
488 | 488 | ||
diff --git a/arch/s390/include/asm/smp.h b/arch/s390/include/asm/smp.h index c77c6de6f6c0..0b6f586c1383 100644 --- a/arch/s390/include/asm/smp.h +++ b/arch/s390/include/asm/smp.h | |||
@@ -16,7 +16,7 @@ | |||
16 | extern struct mutex smp_cpu_state_mutex; | 16 | extern struct mutex smp_cpu_state_mutex; |
17 | extern struct save_area *zfcpdump_save_areas[NR_CPUS + 1]; | 17 | extern struct save_area *zfcpdump_save_areas[NR_CPUS + 1]; |
18 | 18 | ||
19 | extern int __cpu_up(unsigned int cpu); | 19 | extern int __cpu_up(unsigned int cpu, struct task_struct *tidle); |
20 | 20 | ||
21 | extern void arch_send_call_function_single_ipi(int cpu); | 21 | extern void arch_send_call_function_single_ipi(int cpu); |
22 | extern void arch_send_call_function_ipi_mask(const struct cpumask *mask); | 22 | extern void arch_send_call_function_ipi_mask(const struct cpumask *mask); |
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index 1f77227669e8..fc827aa8f9ca 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c | |||
@@ -738,7 +738,7 @@ static void __cpuinit smp_fork_idle(struct work_struct *work) | |||
738 | } | 738 | } |
739 | 739 | ||
740 | /* Upping and downing of CPUs */ | 740 | /* Upping and downing of CPUs */ |
741 | int __cpuinit __cpu_up(unsigned int cpu) | 741 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) |
742 | { | 742 | { |
743 | struct create_idle c_idle; | 743 | struct create_idle c_idle; |
744 | struct pcpu *pcpu; | 744 | struct pcpu *pcpu; |
diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c index eaebdf6a5c77..ebb76e2a748b 100644 --- a/arch/sh/kernel/smp.c +++ b/arch/sh/kernel/smp.c | |||
@@ -220,7 +220,7 @@ extern struct { | |||
220 | void *thread_info; | 220 | void *thread_info; |
221 | } stack_start; | 221 | } stack_start; |
222 | 222 | ||
223 | int __cpuinit __cpu_up(unsigned int cpu) | 223 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) |
224 | { | 224 | { |
225 | struct task_struct *tsk; | 225 | struct task_struct *tsk; |
226 | unsigned long timeout; | 226 | unsigned long timeout; |
diff --git a/arch/sparc/kernel/smp_32.c b/arch/sparc/kernel/smp_32.c index f671e7fd6ddc..1f397ae11028 100644 --- a/arch/sparc/kernel/smp_32.c +++ b/arch/sparc/kernel/smp_32.c | |||
@@ -411,7 +411,7 @@ void __init smp_prepare_boot_cpu(void) | |||
411 | set_cpu_possible(cpuid, true); | 411 | set_cpu_possible(cpuid, true); |
412 | } | 412 | } |
413 | 413 | ||
414 | int __cpuinit __cpu_up(unsigned int cpu) | 414 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) |
415 | { | 415 | { |
416 | extern int __cpuinit smp4m_boot_one_cpu(int); | 416 | extern int __cpuinit smp4m_boot_one_cpu(int); |
417 | extern int __cpuinit smp4d_boot_one_cpu(int); | 417 | extern int __cpuinit smp4d_boot_one_cpu(int); |
diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c index 3b1bd7c50164..2f9948c4107c 100644 --- a/arch/sparc/kernel/smp_64.c +++ b/arch/sparc/kernel/smp_64.c | |||
@@ -1227,7 +1227,7 @@ void __devinit smp_fill_in_sib_core_maps(void) | |||
1227 | } | 1227 | } |
1228 | } | 1228 | } |
1229 | 1229 | ||
1230 | int __cpuinit __cpu_up(unsigned int cpu) | 1230 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) |
1231 | { | 1231 | { |
1232 | int ret = smp_boot_one_cpu(cpu); | 1232 | int ret = smp_boot_one_cpu(cpu); |
1233 | 1233 | ||
diff --git a/arch/tile/kernel/smpboot.c b/arch/tile/kernel/smpboot.c index 172aef7d3159..84873fbe8f27 100644 --- a/arch/tile/kernel/smpboot.c +++ b/arch/tile/kernel/smpboot.c | |||
@@ -222,7 +222,7 @@ void __cpuinit online_secondary(void) | |||
222 | cpu_idle(); | 222 | cpu_idle(); |
223 | } | 223 | } |
224 | 224 | ||
225 | int __cpuinit __cpu_up(unsigned int cpu) | 225 | int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) |
226 | { | 226 | { |
227 | /* Wait 5s total for all CPUs for them to come online */ | 227 | /* Wait 5s total for all CPUs for them to come online */ |
228 | static int timeout; | 228 | static int timeout; |
diff --git a/arch/um/kernel/smp.c b/arch/um/kernel/smp.c index 6f588e160fb0..a02b7e9e6b94 100644 --- a/arch/um/kernel/smp.c +++ b/arch/um/kernel/smp.c | |||
@@ -140,7 +140,7 @@ void smp_prepare_boot_cpu(void) | |||
140 | set_cpu_online(smp_processor_id(), true); | 140 | set_cpu_online(smp_processor_id(), true); |
141 | } | 141 | } |
142 | 142 | ||
143 | int __cpu_up(unsigned int cpu) | 143 | int __cpu_up(unsigned int cpu, struct task_struct *tidle) |
144 | { | 144 | { |
145 | cpu_set(cpu, smp_commenced_mask); | 145 | cpu_set(cpu, smp_commenced_mask); |
146 | while (!cpu_online(cpu)) | 146 | while (!cpu_online(cpu)) |
diff --git a/arch/x86/include/asm/smp.h b/arch/x86/include/asm/smp.h index 0434c400287c..4eb3a74bc4b0 100644 --- a/arch/x86/include/asm/smp.h +++ b/arch/x86/include/asm/smp.h | |||
@@ -62,6 +62,8 @@ DECLARE_EARLY_PER_CPU(int, x86_cpu_to_logical_apicid); | |||
62 | /* Static state in head.S used to set up a CPU */ | 62 | /* Static state in head.S used to set up a CPU */ |
63 | extern unsigned long stack_start; /* Initial stack pointer address */ | 63 | extern unsigned long stack_start; /* Initial stack pointer address */ |
64 | 64 | ||
65 | struct task_struct; | ||
66 | |||
65 | struct smp_ops { | 67 | struct smp_ops { |
66 | void (*smp_prepare_boot_cpu)(void); | 68 | void (*smp_prepare_boot_cpu)(void); |
67 | void (*smp_prepare_cpus)(unsigned max_cpus); | 69 | void (*smp_prepare_cpus)(unsigned max_cpus); |
@@ -113,7 +115,7 @@ static inline void smp_cpus_done(unsigned int max_cpus) | |||
113 | smp_ops.smp_cpus_done(max_cpus); | 115 | smp_ops.smp_cpus_done(max_cpus); |
114 | } | 116 | } |
115 | 117 | ||
116 | static inline int __cpu_up(unsigned int cpu) | 118 | static inline int __cpu_up(unsigned int cpu, struct task_struct *tidle) |
117 | { | 119 | { |
118 | return smp_ops.cpu_up(cpu); | 120 | return smp_ops.cpu_up(cpu); |
119 | } | 121 | } |
diff --git a/include/linux/smp.h b/include/linux/smp.h index 10530d92c04b..24360de6c968 100644 --- a/include/linux/smp.h +++ b/include/linux/smp.h | |||
@@ -61,7 +61,7 @@ extern void smp_prepare_cpus(unsigned int max_cpus); | |||
61 | /* | 61 | /* |
62 | * Bring a CPU up | 62 | * Bring a CPU up |
63 | */ | 63 | */ |
64 | extern int __cpu_up(unsigned int cpunum); | 64 | extern int __cpu_up(unsigned int cpunum, struct task_struct *tidle); |
65 | 65 | ||
66 | /* | 66 | /* |
67 | * Final polishing of CPUs | 67 | * Final polishing of CPUs |
diff --git a/kernel/cpu.c b/kernel/cpu.c index 2060c6e57027..e711aef0fb3c 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c | |||
@@ -309,7 +309,7 @@ static int __cpuinit _cpu_up(unsigned int cpu, int tasks_frozen) | |||
309 | } | 309 | } |
310 | 310 | ||
311 | /* Arch-specific enabling code. */ | 311 | /* Arch-specific enabling code. */ |
312 | ret = __cpu_up(cpu); | 312 | ret = __cpu_up(cpu, NULL); |
313 | if (ret != 0) | 313 | if (ret != 0) |
314 | goto out_notify; | 314 | goto out_notify; |
315 | BUG_ON(!cpu_online(cpu)); | 315 | BUG_ON(!cpu_online(cpu)); |