diff options
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/processor_core.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c index 1c0008edccda..feddc8ed870a 100644 --- a/drivers/acpi/processor_core.c +++ b/drivers/acpi/processor_core.c | |||
@@ -621,7 +621,7 @@ static int __cpuinit acpi_processor_start(struct acpi_device *device) | |||
621 | int result = 0; | 621 | int result = 0; |
622 | acpi_status status = AE_OK; | 622 | acpi_status status = AE_OK; |
623 | struct acpi_processor *pr; | 623 | struct acpi_processor *pr; |
624 | 624 | struct sys_device *sysdev; | |
625 | 625 | ||
626 | pr = acpi_driver_data(device); | 626 | pr = acpi_driver_data(device); |
627 | 627 | ||
@@ -652,6 +652,10 @@ static int __cpuinit acpi_processor_start(struct acpi_device *device) | |||
652 | if (result) | 652 | if (result) |
653 | goto end; | 653 | goto end; |
654 | 654 | ||
655 | sysdev = get_cpu_sysdev(pr->id); | ||
656 | if (sysfs_create_link(&device->dev.kobj, &sysdev->kobj, "sysdev")) | ||
657 | return -EFAULT; | ||
658 | |||
655 | status = acpi_install_notify_handler(pr->handle, ACPI_DEVICE_NOTIFY, | 659 | status = acpi_install_notify_handler(pr->handle, ACPI_DEVICE_NOTIFY, |
656 | acpi_processor_notify, pr); | 660 | acpi_processor_notify, pr); |
657 | 661 | ||
@@ -810,6 +814,8 @@ static int acpi_processor_remove(struct acpi_device *device, int type) | |||
810 | status = acpi_remove_notify_handler(pr->handle, ACPI_DEVICE_NOTIFY, | 814 | status = acpi_remove_notify_handler(pr->handle, ACPI_DEVICE_NOTIFY, |
811 | acpi_processor_notify); | 815 | acpi_processor_notify); |
812 | 816 | ||
817 | sysfs_remove_link(&device->dev.kobj, "sysdev"); | ||
818 | |||
813 | acpi_processor_remove_fs(device); | 819 | acpi_processor_remove_fs(device); |
814 | 820 | ||
815 | if (pr->cdev) { | 821 | if (pr->cdev) { |