• Daniel Lezcano's avatar
    thermal/core: Remove the 'forced_passive' option · a7d6ba14
    Daniel Lezcano authored
    The code was reorganized in 2012 with the commit 0c01ebbf.
    
    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: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    Reviewed-by: default avatarThara Gopinath <thara.gopinath@linaro.org>
    Link: https://lore.kernel.org/r/20201214233811.485669-1-daniel.lezcano@linaro.org
    a7d6ba14
sysfs-api.rst 25.9 KB