linux/drivers/thermal
Linus Walleij 6c375eccde thermal: db8500: Rewrite to be a pure OF sensor
This patch rewrites the DB8500 thermal sensor to be a
pure OF sensor, so that it can be used with thermal zones
defined in the device tree.

This driver was initially merged before we had generic
thermal zone device tree bindings, and now it gets
modernized to the way we do things these days.

The old driver depended on a set of trigger points
provided in the device tree or platform data to
interpolate the current temperature between trigger
points depending on whether the trend was rising or
falling. This was bad because the trigger points should
be used for defining temperature zone policies and
bind to cooling devices.

As the PRCMU (power reset control management unit) can
only issue IRQs when we pass temperature trigger points
upward or downward We instead define a number of
temperature points inside the driver ranging from
15 to 100 degrees celsius. The effect is that when
we register the device we quickly trigger 15, 20 ... up
to the room temperature in succession and then we
get continous event IRQs also under normal operating
conditions, and the temperature of the system is now
reported more accurately (+/- 2.5 degrees celsius)
while in the past the first trigger point was at 70
degrees and the average temperature was simply reported
as 35 degrees celsius (between 70 degrees and 0) until
we passed 70 degrees which didn't accurately represent
the temperature of the system.

As a result of dropping all the trigger points from the
driver and reusing the core DT thermal zone management
code we reduce the code footprint quite a bit.

Cc: Vincent Guittot <vincent.guittot@linaro.org>
Suggested-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
2019-09-24 22:59:22 -07:00
..
broadcom Driver Core and debugfs changes for 5.3-rc1 2019-07-12 12:24:03 -07:00
intel int340X/processor_thermal_device: Fix proc_thermal_rapl_remove() 2019-07-23 09:36:07 +02:00
qcom treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
samsung treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
st treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
tegra Driver Core and debugfs changes for 5.3-rc1 2019-07-12 12:24:03 -07:00
ti-soc-thermal treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
armada_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
clock_cooling.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
cpu_cooling.c thermal: cpu_cooling: Actually trace CPU load in thermal_power_cpu_get_power 2019-05-14 07:00:41 -07:00
da9062-thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
db8500_thermal.c thermal: db8500: Rewrite to be a pure OF sensor 2019-09-24 22:59:22 -07:00
devfreq_cooling.c
dove_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
fair_share.c thermal/drivers/core: Use governor table to initialize 2019-06-27 21:22:14 +08:00
gov_bang_bang.c thermal/drivers/core: Use governor table to initialize 2019-06-27 21:22:14 +08:00
hisi_thermal.c thermal/drivers/hisi: Fix number of sensors on hi3660 2018-12-10 20:13:09 -08:00
imx_thermal.c thermal: imx: save one condition block for normal case of nvmem initialization 2019-01-02 04:47:12 -08:00
Kconfig thermal: db8500: Finalize device tree conversion 2019-09-24 22:54:49 -07:00
kirkwood_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
Makefile thermal: Introduce Amazon's Annapurna Labs Thermal Driver 2019-05-14 07:00:26 -07:00
max77620_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
mtk_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
of-thermal.c of: thermal: Improve print information 2019-05-13 20:35:34 -07:00
power_allocator.c thermal/drivers/core: Use governor table to initialize 2019-06-27 21:22:14 +08:00
qoriq_thermal.c thermal: qoriq: Remove unnecessary DT node is NULL check 2019-05-14 07:00:27 -07:00
rcar_gen3_thermal.c thermal: rcar_gen3_thermal: Update temperature conversion method 2019-05-23 21:58:25 -07:00
rcar_thermal.c thermal: rcar_thermal: update calculation formula for R-Car Gen3 SoCs 2019-05-14 07:00:42 -07:00
rockchip_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
spear_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
step_wise.c thermal/drivers/core: Use governor table to initialize 2019-06-27 21:22:14 +08:00
tango_thermal.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
thermal_core.c thermal/drivers/core: Use governor table to initialize 2019-06-27 21:22:14 +08:00
thermal_core.h thermal/drivers/core: Use governor table to initialize 2019-06-27 21:22:14 +08:00
thermal_helpers.c drivers: thermal: Update license to SPDX format 2018-05-30 14:46:17 +08:00
thermal_hwmon.c thermal_hwmon: Pass the originating device down to hwmon_device_register_with_info 2018-07-27 14:43:21 -07:00
thermal_hwmon.h thermal: hwmon: inline helpers when CONFIG_THERMAL_HWMON is not set 2019-01-02 04:43:00 -08:00
thermal_mmio.c thermal: thermal_mmio: remove some dead code 2019-09-22 13:44:52 -07:00
thermal_sysfs.c thermal: Fix locking in cooling device sysfs update cur_state 2018-11-30 16:57:51 +08:00
thermal-generic-adc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
uniphier_thermal.c thermal: uniphier: Convert to SPDX identifier 2019-01-02 04:47:16 -08:00
user_space.c thermal/drivers/core: Use governor table to initialize 2019-06-27 21:22:14 +08:00
zx2967_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00