浏览代码

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 4264/1: ldrex/strex syntax errors with recent compilers
  [ARM] Fix breakage caused by 72486f1f8f0a2bc828b9d30cf4690cf2dd6807fc
Linus Torvalds 18 年之前
父节点
当前提交
f32e355583
共有 2 个文件被更改,包括 7 次插入4 次删除
  1. 5 2
      arch/arm/kernel/setup.c
  2. 2 2
      include/asm-arm/atomic.h

+ 5 - 2
arch/arm/kernel/setup.c

@@ -839,8 +839,11 @@ static int __init topology_init(void)
 {
 {
 	int cpu;
 	int cpu;
 
 
-	for_each_possible_cpu(cpu)
-		register_cpu(&per_cpu(cpu_data, cpu).cpu, cpu);
+	for_each_possible_cpu(cpu) {
+		struct cpuinfo_arm *cpuinfo = &per_cpu(cpu_data, cpu);
+		cpuinfo->cpu.hotpluggable = 1;
+		register_cpu(&cpuinfo->cpu, cpu);
+	}
 
 
 	return 0;
 	return 0;
 }
 }

+ 2 - 2
include/asm-arm/atomic.h

@@ -103,9 +103,9 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)
 	unsigned long tmp, tmp2;
 	unsigned long tmp, tmp2;
 
 
 	__asm__ __volatile__("@ atomic_clear_mask\n"
 	__asm__ __volatile__("@ atomic_clear_mask\n"
-"1:	ldrex	%0, %2\n"
+"1:	ldrex	%0, [%2]\n"
 "	bic	%0, %0, %3\n"
 "	bic	%0, %0, %3\n"
-"	strex	%1, %0, %2\n"
+"	strex	%1, %0, [%2]\n"
 "	teq	%1, #0\n"
 "	teq	%1, #0\n"
 "	bne	1b"
 "	bne	1b"
 	: "=&r" (tmp), "=&r" (tmp2)
 	: "=&r" (tmp), "=&r" (tmp2)