kernel_optimize_test/drivers/thermal
Sascha Hauer 060c034a97 thermal: Add support for hardware-tracked trip points
This adds support for hardware-tracked trip points to the device tree
thermal sensor framework.

The framework supports an arbitrary number of trip points. Whenever
the current temperature is updated, the trip points immediately
below and above the current temperature are found. A .set_trips
callback is then called with the temperatures. If there is no trip
point above or below the current temperature, the passed trip
temperature will be -INT_MAX or INT_MAX respectively. In this callback,
the driver should program the hardware such that it is notified
when either of these trip points are triggered. When a trip point
is triggered, the driver should call `thermal_zone_device_update'
for the respective thermal zone. This will cause the trip points
to be updated again.

If .set_trips is not implemented, the framework behaves as before.

This patch is based on an earlier version from Mikko Perttunen
<mikko.perttunen@kapsi.fi>

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Cc: linux-pm@vger.kernel.org
Reviewed-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
2016-09-27 14:02:16 +08:00
..
int340x_thermal Thermal-INT3406: Delete owner assignment 2016-08-19 21:32:48 +08:00
qcom thermal: qcom: remove declare local symbols as static 2016-09-27 14:02:16 +08:00
samsung thermal: exynos: Defer probe if vtmu is present but not registered 2016-03-08 14:22:25 -08:00
st Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2015-09-11 16:13:47 -07:00
tegra thermal: tegra: add Tegra132 specific SOC_THERM driver 2016-05-17 07:28:31 -07:00
ti-soc-thermal thermal: convert ti-thermal to use devm_thermal_zone_of_sensor_register 2016-05-17 07:28:27 -07:00
armada_thermal.c thermal: armada: Fix possible overflow in the Armada 380 thermal sensor formula 2015-10-30 11:33:23 -07:00
clock_cooling.c thermal: clock_cooling: Fix missing mutex_init() 2016-08-08 10:57:39 +08:00
cpu_cooling.c thermal: cpu_cooling: Fix NULL dereference in cpufreq_state2power 2016-08-19 21:32:18 +08:00
db8500_cpufreq_cooling.c thermal: db8500_cpufreq_cooling: Fix module autoload for OF platform driver 2015-09-13 20:26:19 -07:00
db8500_thermal.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
devfreq_cooling.c devfreq_cooling: return on allocation failure 2015-11-04 11:06:29 -08:00
dove_thermal.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
fair_share.c thermal: fix race condition when updating cooling device 2016-08-08 10:57:39 +08:00
gov_bang_bang.c thermal: fix race condition when updating cooling device 2016-08-08 10:57:39 +08:00
hisi_thermal.c thermal: hisilicon: fix IRQ imbalance enabling 2016-05-17 07:28:30 -07:00
imx_thermal.c thermal: imx: fix a possible NULL dereference 2016-08-19 21:34:08 +08:00
intel_pch_thermal.c thermal: intel_pch_thermal: Add suspend/resume callback 2016-08-08 10:54:55 +08:00
intel_powerclamp.c thermal/powerclamp: Prevent division by zero when counting interval 2016-08-08 10:54:55 +08:00
intel_quark_dts_thermal.c x86/platform/iosf_mbi: Remove duplicate definitions 2015-12-09 01:18:34 +01:00
intel_soc_dts_iosf.c x86/platform/iosf_mbi: Remove duplicate definitions 2015-12-09 01:18:34 +01:00
intel_soc_dts_iosf.h Thermal: Intel SoC: DTS thermal IOSF core 2015-05-01 11:20:42 +08:00
intel_soc_dts_thermal.c x86, thermal: Clean up and fix CPU model detection for intel_soc_dts_thermal 2016-06-08 13:03:26 +02:00
Kconfig thermal: qcom: tsens: Add a skeletal TSENS drivers 2016-09-27 14:02:16 +08:00
kirkwood_thermal.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
Makefile thermal: qcom: tsens: Add a skeletal TSENS drivers 2016-09-27 14:02:16 +08:00
mtk_thermal.c thermal: convert mtk_thermal to use devm_thermal_zone_of_sensor_register 2016-05-17 07:28:26 -07:00
of-thermal.c thermal: of-thermal: allow setting trip_temp on hardware 2016-05-17 07:28:28 -07:00
power_allocator.c thermal: fix race condition when updating cooling device 2016-08-08 10:57:39 +08:00
qcom-spmi-temp-alarm.c thermal: convert qcom-spmi to use devm_thermal_zone_of_sensor_register 2016-05-17 07:28:26 -07:00
rcar_thermal.c thermal: convert rcar_thermal to use devm_thermal_zone_of_sensor_register 2016-05-17 07:28:27 -07:00
rockchip_thermal.c thermal: rockchip: use the usleep_range instead of udelay 2016-05-17 07:28:33 -07:00
spear_thermal.c thermal: spear: use __maybe_unused for PM functions 2016-02-09 14:12:08 -08:00
step_wise.c thermal: fix race condition when updating cooling device 2016-08-08 10:57:39 +08:00
tango_thermal.c thermal: tango: initialize TEMPSI_CFG 2016-05-17 07:28:33 -07:00
thermal_core.c thermal: Add support for hardware-tracked trip points 2016-09-27 14:02:16 +08:00
thermal_core.h Thermal: initialize thermal zone device correctly 2015-12-29 15:59:44 +08:00
thermal_hwmon.c thermal: hwmon: EXPORT_SYMBOL_GPL for thermal hwmon sysfs 2016-08-08 10:57:39 +08:00
thermal_hwmon.h thermal: hwmon: move hwmon support to single file 2013-09-03 09:09:12 -04:00
thermal-generic-adc.c thermal: generic-adc: Add ADC based thermal sensor driver 2016-05-17 07:28:31 -07:00
user_space.c Thermal: build thermal governors into thermal_sys module 2013-04-14 23:28:43 +08:00
x86_pkg_temp_thermal.c thermal: x86_pkg_temp: Handle the FROZEN hot plug notifier actions. 2016-05-17 09:59:29 +08:00