This patch series attempts to enhance the thermal framework by adding some simple governors/throttling algorithms. These patches are based on Rui's tree here: (branch - thermal) git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux.git Patch 1: Refactor thermal.h so that it is easy to read/maintain Patch 2: Move data structures that need to be visible to thermal.h Patch 3: Adds some APIs to thermal_sys.c Patch 4: Adds required platform layer information to thermal.h Patch 5: Adds code to thermal_sys, that can retrieve platform data (if provided) for a thermal zone Patch 6: Creates a policy sysfs attribute (RO, for now) Patch 7: Modifies the bind/unbind logic based on the platform data With this modification, the bind/unbind can work with or without platform data Patch 8: Introduces a fair_share governor. This throttles the cooling_devices according to their weights. The weights in turn describe the effectiveness of a particular cooling device in cooling a thermal zone. Patch 9: Introduce step_wise governor This throttles/de-throttles the cooling devices one step at a time. This is exactly similar to the code we have in thermal_zone_device_update function. The intention is to move all 'throttling logic' related code outside thermal_sys.c and keep them separate. Patch 10: Removes all throttling code outside thermal_sys.c Patch 11: Adds a notification API so that thermal sensor drivers can notify the framework of any thermal events. Patch 12: Adds documentation to Documentation/thermal/sysfs-api.txt Patch 13: Shows some sample code on how to provide platform level thermal data. This patch is not for merge. Durgadoss R (13): Thermal: Refactor thermal.h file Thermal: Move thermal_instance to thermal.h Thermal: Add get trend, get instance API's to thermal_sys Thermal: Add platform level information to thermal.h Thermal: Obtain platform data for thermal zone Thermal: Add a policy sysfs attribute Thermal: Update binding logic based on platform data Thermal: Introduce fair_share thermal governor Thermal: Introduce a step_wise thermal governor Thermal: Remove throttling logic out of thermal_sys.c Thermal: Add a notification API Thermal: Add documentation for platform layer data Thermal: Platform layer changes to provide thermal data Documentation/thermal/sysfs-api.txt | 30 ++ arch/x86/platform/mrst/mrst.c | 42 +++ drivers/thermal/Kconfig | 12 + drivers/thermal/Makefile | 4 +- drivers/thermal/fair_share.c | 128 +++++++ drivers/thermal/step_wise.c | 204 +++++++++++ drivers/thermal/thermal_sys.c | 673 +++++++++++++++++++++-------------- include/linux/thermal.h | 167 +++++++-- 8 files changed, 963 insertions(+), 297 deletions(-) create mode 100644 drivers/thermal/fair_share.c create mode 100644 drivers/thermal/step_wise.c -- 1.7.9.5 -- 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