7f4957be0d
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 |
||
---|---|---|
.. | ||
broadcom | ||
intel | ||
qcom | ||
samsung | ||
st | ||
tegra | ||
ti-soc-thermal | ||
amlogic_thermal.c | ||
armada_thermal.c | ||
clock_cooling.c | ||
cpufreq_cooling.c | ||
cpuidle_cooling.c | ||
da9062-thermal.c | ||
db8500_thermal.c | ||
devfreq_cooling.c | ||
dove_thermal.c | ||
gov_bang_bang.c | ||
gov_fair_share.c | ||
gov_power_allocator.c | ||
gov_step_wise.c | ||
gov_user_space.c | ||
hisi_thermal.c | ||
imx8mm_thermal.c | ||
imx_sc_thermal.c | ||
imx_thermal.c | ||
k3_bandgap.c | ||
Kconfig | ||
kirkwood_thermal.c | ||
Makefile | ||
max77620_thermal.c | ||
mtk_thermal.c | ||
qoriq_thermal.c | ||
rcar_gen3_thermal.c | ||
rcar_thermal.c | ||
rockchip_thermal.c | ||
spear_thermal.c | ||
sprd_thermal.c | ||
sun8i_thermal.c | ||
tango_thermal.c | ||
thermal_core.c | ||
thermal_core.h | ||
thermal_helpers.c | ||
thermal_hwmon.c | ||
thermal_hwmon.h | ||
thermal_mmio.c | ||
thermal_of.c | ||
thermal_sysfs.c | ||
thermal-generic-adc.c | ||
uniphier_thermal.c | ||
zx2967_thermal.c |