Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f1eb99c authored by Zhang Rui's avatar Zhang Rui Committed by Andi Kleen
Browse files

create sysfs link from acpi device to sysdev for cpu

Sys I/F under acpi device node and sysdev device node are both
needed for cpu hot-removal. User space need this link so that
they know they are poking the sys I/F for the same cpu.
http://bugzilla.kernel.org/show_bug.cgi?id=9772



Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
parent b62b8ef9
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -621,7 +621,7 @@ static int __cpuinit acpi_processor_start(struct acpi_device *device)
	int result = 0;
	acpi_status status = AE_OK;
	struct acpi_processor *pr;

	struct sys_device *sysdev;

	pr = acpi_driver_data(device);

@@ -652,6 +652,10 @@ static int __cpuinit acpi_processor_start(struct acpi_device *device)
	if (result)
		goto end;

	sysdev = get_cpu_sysdev(pr->id);
	if (sysfs_create_link(&device->dev.kobj, &sysdev->kobj, "sysdev"))
		return -EFAULT;

	status = acpi_install_notify_handler(pr->handle, ACPI_DEVICE_NOTIFY,
					     acpi_processor_notify, pr);

@@ -810,6 +814,8 @@ static int acpi_processor_remove(struct acpi_device *device, int type)
	status = acpi_remove_notify_handler(pr->handle, ACPI_DEVICE_NOTIFY,
					    acpi_processor_notify);

	sysfs_remove_link(&device->dev.kobj, "sysdev");

	acpi_processor_remove_fs(device);

	if (pr->cdev) {