Thermal: Introduce simple arbitrator for setting device cooling state
authorZhang Rui <rui.zhang@intel.com>
Wed, 27 Jun 2012 06:13:04 +0000 (14:13 +0800)
committerZhang Rui <rui.zhang@intel.com>
Mon, 24 Sep 2012 06:44:37 +0000 (14:44 +0800)
commitce119f83257aae29b84a5bfad0669e8348437b18
tree82ef036b21cc958beed8a0c7def6fbe50ab3ca1b
parentb5e4ae620b06274981781aeadc2aea50b507f7fb
Thermal: Introduce simple arbitrator for setting device cooling state

This fixes the problem that a cooling device may be referenced by
by multiple trip points in multiple thermal zones.

With this patch, we have two stages for updating a thermal zone,
1. check if a thermal_instance needs to be updated or not
2. update the cooling device, based on the target cooling state
   of all its instances.

Note that, currently, the cooling device is set to the deepest
cooling state required.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Reviewed-by: Rafael J. Wysocki <rjw@sisk.pl>
Reviewed-by: Eduardo Valentin <eduardo.valentin@ti.com>
drivers/thermal/thermal_sys.c
include/linux/thermal.h