This patch moves the KOBJ_ONLINE uevent into acpi_processor_start(). We used to generate KOBJ_ONLINE, KOBJ_OFFLINE, KOBJ_ONLINE when hot-adding a processor. Now we'll only generate KOBJ_ONLINE. In addition, we'll generate KOBJ_ONLINE for all processors discovered when the processor module initializes. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@xxxxxx> CC: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx> CC: Zhao Yakui <yakui.zhao@xxxxxxxxx> --- drivers/acpi/processor_core.c | 14 ++------------ 1 files changed, 2 insertions(+), 12 deletions(-) diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c index bc27728..11ff257 100644 --- a/drivers/acpi/processor_core.c +++ b/drivers/acpi/processor_core.c @@ -774,6 +774,7 @@ static int __cpuinit acpi_processor_start(struct acpi_device *device) printk(")\n"); } + kobject_uevent(&device->dev.kobj, KOBJ_ONLINE); return 0; err_remove_sysfs: @@ -967,9 +968,6 @@ int acpi_processor_device_add(acpi_handle handle, struct acpi_device **device) if (!pr) return -ENODEV; - if ((pr->id >= 0) && (pr->id < nr_cpu_ids)) { - kobject_uevent(&(*device)->dev.kobj, KOBJ_ONLINE); - } return 0; } @@ -1006,18 +1004,10 @@ static void __ref acpi_processor_hotplug_notify(acpi_handle handle, break; } - if (pr->id >= 0 && (pr->id < nr_cpu_ids)) { - kobject_uevent(&device->dev.kobj, KOBJ_OFFLINE); - break; - } - result = acpi_processor_start(device); - if ((!result) && ((pr->id >= 0) && (pr->id < nr_cpu_ids))) { - kobject_uevent(&device->dev.kobj, KOBJ_ONLINE); - } else { + if (result) printk(KERN_ERR PREFIX "Device [%s] failed to start\n", acpi_device_bid(device)); - } break; case ACPI_NOTIFY_EJECT_REQUEST: ACPI_DEBUG_PRINT((ACPI_DB_INFO, -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html