On Mon, Jun 02, 2014 at 10:21:48AM +0100, Amit Kachhap wrote: > Hi Javi, > > On 5/29/14, Javi Merino <javi.merino@xxxxxxx> wrote: > > Hi Amit, > > > > On Thu, May 29, 2014 at 09:15:34AM +0100, Amit Daniel Kachhap wrote: > >> This patch upgrades the ACPI cpufreq cooling portions to use the generic > >> cpufreq cooling infrastructure. There should not be any functionality > >> related changes as the same behaviour is provided by the generic > >> cpufreq APIs with the notifier mechanism. > >> > >> Signed-off-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> > >> --- > >> drivers/acpi/processor_driver.c | 6 +- > >> drivers/acpi/processor_thermal.c | 235 > >> ++++++++++++++++++-------------------- > >> include/acpi/processor.h | 3 +- > >> 3 files changed, 115 insertions(+), 129 deletions(-) > >> > >> diff --git a/drivers/acpi/processor_driver.c > >> b/drivers/acpi/processor_driver.c > >> index 7f70f31..10aba4a 100644 > >> --- a/drivers/acpi/processor_driver.c > >> +++ b/drivers/acpi/processor_driver.c > >> @@ -36,6 +36,7 @@ > >> #include <linux/cpuidle.h> > >> #include <linux/slab.h> > >> #include <linux/acpi.h> > >> +#include <linux/cpu_cooling.h> > >> > >> #include <acpi/processor.h> > >> > >> @@ -178,8 +179,7 @@ static int __acpi_processor_start(struct acpi_device > >> *device) > >> if (!cpuidle_get_driver() || cpuidle_get_driver() == > >> &acpi_idle_driver) > >> acpi_processor_power_init(pr); > >> > >> - pr->cdev = thermal_cooling_device_register("Processor", device, > >> - > >> &processor_cooling_ops); > >> + pr->cdev = acpi_processor_cooling_register(device); > > > > With this you have removed the only cooling device whose type was > > "Processor". There's special code for dealing with this cooling > > device in drivers/thermal/thermal_core.c:passive_store(): > > > > list_for_each_entry(cdev, &thermal_cdev_list, node) { > > if (!strncmp("Processor", cdev->type, > > sizeof("Processor"))) > > thermal_zone_bind_cooling_device(tz, > > THERMAL_TRIPS_NONE, cdev, > > THERMAL_NO_LIMIT, > > THERMAL_NO_LIMIT); > > } > > mutex_unlock(&thermal_list_lock); > > if (!tz->passive_delay) > > > > With your change, that code is now "dead" as it can't do anything. No > > I don't know what should you do with it, either remove it or make it > > match the cpufreq cooling device. But this patch should deal with > > that code as well. > nice catch. I somehow missed modifying this section. > I think the following changes should fix this, > - if (!strncmp("Processor", cdev->type, > - sizeof("Processor"))) > + if (!strncmp("thermal-cpufreq", cdev->type, > + sizeof("thermal-cpufreq"))) > thermal_zone_bind_cooling_device(tz, > That should do it. I don't really understand why this code is specifically looking for ACPI processor cooling devices but I guess that's the least disrupting change you can make. Cheers, Javi -- 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