aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/i386/kernel/topology.c4
-rw-r--r--arch/ia64/kernel/topology.c8
-rw-r--r--arch/powerpc/kernel/sysfs.c8
-rw-r--r--drivers/base/cpu.c6
-rw-r--r--include/linux/cpu.h2
5 files changed, 14 insertions, 14 deletions
diff --git a/arch/i386/kernel/topology.c b/arch/i386/kernel/topology.c
index 844c08fdb225..79cf608e14ca 100644
--- a/arch/i386/kernel/topology.c
+++ b/arch/i386/kernel/topology.c
@@ -44,8 +44,8 @@ int arch_register_cpu(int num)
44 * Also certain PCI quirks require not to enable hotplug control 44 * Also certain PCI quirks require not to enable hotplug control
45 * for all CPU's. 45 * for all CPU's.
46 */ 46 */
47 if (!num || !enable_cpu_hotplug) 47 if (num && enable_cpu_hotplug)
48 cpu_devices[num].cpu.no_control = 1; 48 cpu_devices[num].cpu.hotpluggable = 1;
49 49
50 return register_cpu(&cpu_devices[num].cpu, num); 50 return register_cpu(&cpu_devices[num].cpu, num);
51} 51}
diff --git a/arch/ia64/kernel/topology.c b/arch/ia64/kernel/topology.c
index 5629b45e89c6..687500ddb4b8 100644
--- a/arch/ia64/kernel/topology.c
+++ b/arch/ia64/kernel/topology.c
@@ -31,11 +31,11 @@ int arch_register_cpu(int num)
31{ 31{
32#if defined (CONFIG_ACPI) && defined (CONFIG_HOTPLUG_CPU) 32#if defined (CONFIG_ACPI) && defined (CONFIG_HOTPLUG_CPU)
33 /* 33 /*
34 * If CPEI cannot be re-targetted, and this is 34 * If CPEI can be re-targetted or if this is not
35 * CPEI target, then dont create the control file 35 * CPEI target, then it is hotpluggable
36 */ 36 */
37 if (!can_cpei_retarget() && is_cpu_cpei_target(num)) 37 if (can_cpei_retarget() || !is_cpu_cpei_target(num))
38 sysfs_cpus[num].cpu.no_control = 1; 38 sysfs_cpus[num].cpu.hotpluggable = 1;
39 map_cpu_to_node(num, node_cpuid[num].nid); 39 map_cpu_to_node(num, node_cpuid[num].nid);
40#endif 40#endif
41 41
diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c
index 22123a0d5416..63ed265b7f09 100644
--- a/arch/powerpc/kernel/sysfs.c
+++ b/arch/powerpc/kernel/sysfs.c
@@ -239,7 +239,7 @@ static void unregister_cpu_online(unsigned int cpu)
239 struct cpu *c = &per_cpu(cpu_devices, cpu); 239 struct cpu *c = &per_cpu(cpu_devices, cpu);
240 struct sys_device *s = &c->sysdev; 240 struct sys_device *s = &c->sysdev;
241 241
242 BUG_ON(c->no_control); 242 BUG_ON(!c->hotpluggable);
243 243
244 if (!firmware_has_feature(FW_FEATURE_ISERIES) && 244 if (!firmware_has_feature(FW_FEATURE_ISERIES) &&
245 cpu_has_feature(CPU_FTR_SMT)) 245 cpu_has_feature(CPU_FTR_SMT))
@@ -424,10 +424,10 @@ static int __init topology_init(void)
424 * CPU. For instance, the boot cpu might never be valid 424 * CPU. For instance, the boot cpu might never be valid
425 * for hotplugging. 425 * for hotplugging.
426 */ 426 */
427 if (!ppc_md.cpu_die) 427 if (ppc_md.cpu_die)
428 c->no_control = 1; 428 c->hotpluggable = 1;
429 429
430 if (cpu_online(cpu) || (c->no_control == 0)) { 430 if (cpu_online(cpu) || c->hotpluggable) {
431 register_cpu(c, cpu); 431 register_cpu(c, cpu);
432 432
433 sysdev_create_file(&c->sysdev, &attr_physical_id); 433 sysdev_create_file(&c->sysdev, &attr_physical_id);
diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
index 1f745f12f94e..7fd095efaebd 100644
--- a/drivers/base/cpu.c
+++ b/drivers/base/cpu.c
@@ -104,8 +104,8 @@ static SYSDEV_ATTR(crash_notes, 0400, show_crash_notes, NULL);
104 104
105/* 105/*
106 * register_cpu - Setup a driverfs device for a CPU. 106 * register_cpu - Setup a driverfs device for a CPU.
107 * @cpu - Callers can set the cpu->no_control field to 1, to indicate not to 107 * @cpu - cpu->hotpluggable field set to 1 will generate a control file in
108 * generate a control file in sysfs for this CPU. 108 * sysfs for this CPU.
109 * @num - CPU number to use when creating the device. 109 * @num - CPU number to use when creating the device.
110 * 110 *
111 * Initialize and register the CPU device. 111 * Initialize and register the CPU device.
@@ -119,7 +119,7 @@ int __devinit register_cpu(struct cpu *cpu, int num)
119 119
120 error = sysdev_register(&cpu->sysdev); 120 error = sysdev_register(&cpu->sysdev);
121 121
122 if (!error && !cpu->no_control) 122 if (!error && cpu->hotpluggable)
123 register_cpu_control(cpu); 123 register_cpu_control(cpu);
124 if (!error) 124 if (!error)
125 cpu_sys_devices[num] = &cpu->sysdev; 125 cpu_sys_devices[num] = &cpu->sysdev;
diff --git a/include/linux/cpu.h b/include/linux/cpu.h
index f02d71bf6894..ad90340e7dba 100644
--- a/include/linux/cpu.h
+++ b/include/linux/cpu.h
@@ -27,7 +27,7 @@
27 27
28struct cpu { 28struct cpu {
29 int node_id; /* The node which contains the CPU */ 29 int node_id; /* The node which contains the CPU */
30 int no_control; /* Should the sysfs control file be created? */ 30 int hotpluggable; /* creates sysfs control file if hotpluggable */
31 struct sys_device sysdev; 31 struct sys_device sysdev;
32}; 32};
33 33