thermal/core: Remove the 'forced_passive' option
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Mon, 14 Dec 2020 23:38:04 +0000 (00:38 +0100)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Tue, 19 Jan 2021 21:22:45 +0000 (22:22 +0100)
commita7d6ba14efb778fc8c65c627a057d5dd29debd04
tree17d8de4f98499479bbeac934a4668f745087d9bc
parent04f111130e9afa41c10d7bcec14e00e3be8b6977
thermal/core: Remove the 'forced_passive' option

The code was reorganized in 2012 with the commit 0c01ebbfd3caf1.

The main change is a loop on the trip points array and a unconditional
call to the throttle() ops of the governors for each of them even if
the trip temperature is not reached yet.

With this change, the 'forced_passive' is no longer checked in the
thermal_zone_device_update() function but in the step wise governor's
throttle() callback.

As the force_passive does no belong to the trip point array, the
thermal_zone_device_update() can not compare with the specified
passive temperature, thus does not detect the passive limit has been
crossed. Consequently, throttle() is never called and the
'forced_passive' branch is unreached.

In addition, the default processor cooling device is not automatically
bound to the thermal zone if there is not passive trip point, thus the
'forced_passive' can not operate.

If there is an active trip point, then the throttle function will be
called to mitigate at this temperature and the 'forced_passive' will
override the mitigation of the active trip point in this case but with
the default cooling device bound to the thermal zone, so usually a
fan, and that is not a passive cooling effect.

Given the regression exists since more than 8 years, nobody complained
and at the best of my knowledge there is no bug open in
https://bugzilla.kernel.org, it is reasonable to say it is unused.

Remove the 'forced_passive' related code.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Thara Gopinath <thara.gopinath@linaro.org>
Link: https://lore.kernel.org/r/20201214233811.485669-1-daniel.lezcano@linaro.org
Documentation/driver-api/thermal/sysfs-api.rst
drivers/thermal/gov_step_wise.c
drivers/thermal/thermal_sysfs.c
include/linux/thermal.h