From: Greg Kroah-Hartman Date: Thu, 2 Feb 2012 19:24:44 +0000 (-0800) Subject: Merge 3.3-rc2 into the driver-core-next branch. X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=bd1d462e13b278fc57752d0b9b15040e60e561a0;p=openwrt%2Fstaging%2Fblogic.git Merge 3.3-rc2 into the driver-core-next branch. This was done to resolve a merge and build problem with the drivers/acpi/processor_driver.c file. Reported-by: Stephen Rothwell Signed-off-by: Greg Kroah-Hartman --- bd1d462e13b278fc57752d0b9b15040e60e561a0 diff --cc drivers/acpi/processor_driver.c index e6920d0aca53,2b805d7ef317..f289d2afbd4e --- a/drivers/acpi/processor_driver.c +++ b/drivers/acpi/processor_driver.c @@@ -495,40 -579,23 +579,33 @@@ static int __cpuinit acpi_processor_add goto err_free_cpumask; } - /* - * Do not start hotplugged CPUs now, but when they - * are onlined the first time - */ - if (pr->flags.need_hotplug_init) - return 0; +#ifdef CONFIG_CPU_FREQ + acpi_processor_ppc_has_changed(pr, 0); + acpi_processor_load_module(pr); +#endif + acpi_processor_get_throttling_info(pr); + acpi_processor_get_limit_info(pr); + + if (!cpuidle_get_driver() || cpuidle_get_driver() == &acpi_idle_driver) + acpi_processor_power_init(pr, device); + + pr->cdev = thermal_cooling_device_register("Processor", device, + &processor_cooling_ops); + if (IS_ERR(pr->cdev)) { + result = PTR_ERR(pr->cdev); - goto err_power_exit; ++ goto err_remove_sysfs; + } - dev_dbg(&device->dev, "registered as cooling_device%d\n", - pr->cdev->id); + /* + * Do not start hotplugged CPUs now, but when they + * are onlined the first time + */ + if (pr->flags.need_hotplug_init) + return 0; - result = sysfs_create_link(&device->dev.kobj, - &pr->cdev->device.kobj, - "thermal_cooling"); - if (result) { - printk(KERN_ERR PREFIX "Create sysfs link\n"); - goto err_thermal_unregister; - } - result = sysfs_create_link(&pr->cdev->device.kobj, - &device->dev.kobj, - "device"); - if (result) { - printk(KERN_ERR PREFIX "Create sysfs link\n"); + result = acpi_processor_start(pr); + if (result) goto err_remove_sysfs; - } return 0;