diff options
-rw-r--r-- | arch/arm/kernel/setup.c | 7 | ||||
-rw-r--r-- | include/asm-arm/atomic.h | 4 |
2 files changed, 7 insertions, 4 deletions
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 03e37af315d7..0453dcc757b4 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c | |||
@@ -839,8 +839,11 @@ static int __init topology_init(void) | |||
839 | { | 839 | { |
840 | int cpu; | 840 | int cpu; |
841 | 841 | ||
842 | for_each_possible_cpu(cpu) | 842 | for_each_possible_cpu(cpu) { |
843 | register_cpu(&per_cpu(cpu_data, cpu).cpu, cpu); | 843 | struct cpuinfo_arm *cpuinfo = &per_cpu(cpu_data, cpu); |
844 | cpuinfo->cpu.hotpluggable = 1; | ||
845 | register_cpu(&cpuinfo->cpu, cpu); | ||
846 | } | ||
844 | 847 | ||
845 | return 0; | 848 | return 0; |
846 | } | 849 | } |
diff --git a/include/asm-arm/atomic.h b/include/asm-arm/atomic.h index ea88aa6bfc78..f266c2795124 100644 --- a/include/asm-arm/atomic.h +++ b/include/asm-arm/atomic.h | |||
@@ -103,9 +103,9 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr) | |||
103 | unsigned long tmp, tmp2; | 103 | unsigned long tmp, tmp2; |
104 | 104 | ||
105 | __asm__ __volatile__("@ atomic_clear_mask\n" | 105 | __asm__ __volatile__("@ atomic_clear_mask\n" |
106 | "1: ldrex %0, %2\n" | 106 | "1: ldrex %0, [%2]\n" |
107 | " bic %0, %0, %3\n" | 107 | " bic %0, %0, %3\n" |
108 | " strex %1, %0, %2\n" | 108 | " strex %1, %0, [%2]\n" |
109 | " teq %1, #0\n" | 109 | " teq %1, #0\n" |
110 | " bne 1b" | 110 | " bne 1b" |
111 | : "=&r" (tmp), "=&r" (tmp2) | 111 | : "=&r" (tmp), "=&r" (tmp2) |