aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel/smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/parisc/kernel/smp.c')
-rw-r--r--arch/parisc/kernel/smp.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c
index 1fd0f0cec037..69d63d354ef0 100644
--- a/arch/parisc/kernel/smp.c
+++ b/arch/parisc/kernel/smp.c
@@ -18,7 +18,6 @@
18*/ 18*/
19#include <linux/types.h> 19#include <linux/types.h>
20#include <linux/spinlock.h> 20#include <linux/spinlock.h>
21#include <linux/slab.h>
22 21
23#include <linux/kernel.h> 22#include <linux/kernel.h>
24#include <linux/module.h> 23#include <linux/module.h>
@@ -60,8 +59,6 @@ static int smp_debug_lvl = 0;
60#define smp_debug(lvl, ...) do { } while(0) 59#define smp_debug(lvl, ...) do { } while(0)
61#endif /* DEBUG_SMP */ 60#endif /* DEBUG_SMP */
62 61
63DEFINE_SPINLOCK(smp_lock);
64
65volatile struct task_struct *smp_init_current_idle_task; 62volatile struct task_struct *smp_init_current_idle_task;
66 63
67/* track which CPU is booting */ 64/* track which CPU is booting */
@@ -69,7 +66,7 @@ static volatile int cpu_now_booting __cpuinitdata;
69 66
70static int parisc_max_cpus __cpuinitdata = 1; 67static int parisc_max_cpus __cpuinitdata = 1;
71 68
72DEFINE_PER_CPU(spinlock_t, ipi_lock) = SPIN_LOCK_UNLOCKED; 69static DEFINE_PER_CPU(spinlock_t, ipi_lock);
73 70
74enum ipi_message_type { 71enum ipi_message_type {
75 IPI_NOP=0, 72 IPI_NOP=0,
@@ -438,6 +435,11 @@ void __init smp_prepare_boot_cpu(void)
438*/ 435*/
439void __init smp_prepare_cpus(unsigned int max_cpus) 436void __init smp_prepare_cpus(unsigned int max_cpus)
440{ 437{
438 int cpu;
439
440 for_each_possible_cpu(cpu)
441 spin_lock_init(&per_cpu(ipi_lock, cpu));
442
441 init_cpu_present(cpumask_of(0)); 443 init_cpu_present(cpumask_of(0));
442 444
443 parisc_max_cpus = max_cpus; 445 parisc_max_cpus = max_cpus;