linux/drivers/thermal
Andrzej Pietrasiewicz 7f4957be0d thermal: Use mode helpers in drivers
Use thermal_zone_device_{en|dis}able() and thermal_zone_device_is_enabled().

Consequently, all set_mode() implementations in drivers:

- can stop modifying tzd's "mode" member,
- shall stop taking tzd's lock, as it is taken in the helpers
- shall stop calling thermal_zone_device_update() as it is called in the
helpers
- can assume they are called when the mode truly changes, so checks to
verify that can be dropped

Not providing set_mode() by a driver no longer prevents the core from
being able to set tzd's mode, so the relevant check in mode_store() is
removed.

Other comments:

- acpi/thermal.c: tz->thermal_zone->mode will be updated only after we
return from set_mode(), so use function parameter in thermal_set_mode()
instead, no need to call acpi_thermal_check() in set_mode()
- thermal/imx_thermal.c: regmap writes and mode assignment are done in
thermal_zone_device_{en|dis}able() and set_mode() callback
- thermal/intel/intel_quark_dts_thermal.c: soc_dts_{en|dis}able() are a
part of set_mode() callback, so they don't need to modify tzd->mode, and
don't need to fall back to the opposite mode if unsuccessful, as the return
value will be propagated to thermal_zone_device_{en|dis}able() and
ultimately tzd's member will not be changed in thermal_zone_device_set_mode().
- thermal/of-thermal.c: no need to set zone->mode to DISABLED in
of_parse_thermal_zones() as a tzd is kzalloc'ed so mode is DISABLED anyway

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
[for acerhdf]
Acked-by: Peter Kaestle <peter@piie.net>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200629122925.21729-8-andrzej.p@collabora.com
2020-06-29 20:26:36 +02:00
..
broadcom thermal: brcmstb_thermal: Register different ops per process 2020-01-27 11:41:08 +01:00
intel thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
qcom drivers: thermal: tsens: Merge tsens-common.c into tsens.c 2020-05-22 18:53:04 +02:00
samsung thermal: exynos: Silence warning during deferred probe 2020-03-12 11:56:53 +01:00
st thermal: Delete an error message in four functions 2020-04-14 11:41:12 +02:00
tegra thermal: tegra: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
ti-soc-thermal thermal/drivers/ti-soc-thermal: Avoid dereferencing ERR_PTR 2020-04-29 16:38:58 +02:00
amlogic_thermal.c thermal: amlogic: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
armada_thermal.c thermal: armada: remove unused TO_MCELSIUS macro 2020-01-31 10:30:40 -08:00
clock_cooling.c thermal/drivers/clock_cooling: Include export.h 2020-05-22 18:48:54 +02:00
cpufreq_cooling.c thermal/drivers/cpufreq_cooling: Replace module.h with export.h 2020-05-22 18:48:54 +02:00
cpuidle_cooling.c thermal/drivers/cpuidle_cooling: Change the registration function 2020-05-19 12:55:29 +02:00
da9062-thermal.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
db8500_thermal.c thermal: db8500: Depromote debug print 2020-01-27 10:24:32 +01:00
devfreq_cooling.c thermal: devfreq_cooling: Use PM QoS to set frequency limits 2020-04-14 11:41:12 +02:00
dove_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
gov_bang_bang.c thermal: step_wise: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
gov_fair_share.c thermal/governors: Prefix all source files with gov_ 2020-05-22 18:48:54 +02:00
gov_power_allocator.c thermal/governors: Prefix all source files with gov_ 2020-05-22 18:48:54 +02:00
gov_step_wise.c thermal/governors: Prefix all source files with gov_ 2020-05-22 18:48:54 +02:00
gov_user_space.c thermal/governors: Prefix all source files with gov_ 2020-05-22 18:48:54 +02:00
hisi_thermal.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
imx8mm_thermal.c thermal: imx8mm: Replace zero-length array with flexible-array 2020-05-22 18:45:15 +02:00
imx_sc_thermal.c - Add the hwmon support on the i.MX SC (Anson Huang) 2020-06-12 14:10:21 -07:00
imx_thermal.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
k3_bandgap.c thermal: k3: Add support for bandgap sensors 2020-04-14 11:41:12 +02:00
Kconfig thermal: qoriq: Add platform dependencies 2020-05-22 18:56:29 +02:00
kirkwood_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
Makefile thermal/of: Rename of-thermal.c 2020-05-22 18:48:54 +02:00
max77620_thermal.c thermal: max77620: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
mtk_thermal.c thermal: mediatek: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
qoriq_thermal.c thermal: qoriq: Update the settings for TMUv2 2020-05-29 20:26:51 +02:00
rcar_gen3_thermal.c thermal: rcar_gen3_thermal: Add r8a77961 support 2020-03-20 12:17:48 +01:00
rcar_thermal.c thermal: rcar_thermal: Clean up rcar_thermal_update_temp() 2020-05-22 21:09:59 +02:00
rockchip_thermal.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
spear_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
sprd_thermal.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
sun8i_thermal.c thermal: sun8i: Add hwmon support 2020-01-27 11:41:08 +01:00
tango_thermal.c
thermal_core.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
thermal_core.h thermal: Move get_thermal_instance to the internal header 2020-04-14 11:41:12 +02:00
thermal_helpers.c thermal/drivers/thermal_helpers: Include export.h 2020-05-22 18:48:53 +02:00
thermal_hwmon.c thermal/drivers/thermal_hwmon: Include export.h 2020-05-22 18:48:53 +02:00
thermal_hwmon.h thermal_hwmon: Add devres wrapper for thermal_add_hwmon_sysfs() 2020-01-27 10:24:32 +01:00
thermal_mmio.c thermal: no need to set .owner when using module_platform_driver 2019-11-07 07:00:26 +01:00
thermal_of.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
thermal_sysfs.c thermal: Use mode helpers in drivers 2020-06-29 20:26:36 +02:00
thermal-generic-adc.c thermal: generic-adc: silence info message for IIO_TEMP channels 2020-01-27 10:24:32 +01:00
uniphier_thermal.c
zx2967_thermal.c thermal: zx2967: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00