linux/drivers/thermal
Zhang Rui 81ad4276b5 Thermal: Ignore invalid trip points
In some cases, platform thermal driver may report invalid trip points,
thermal core should not take any action for these trip points.

This fixed a regression that bogus trip point starts to screw up thermal
control on some Lenovo laptops, after
commit bb431ba26c
Author: Zhang Rui <rui.zhang@intel.com>
Date:   Fri Oct 30 16:31:47 2015 +0800

    Thermal: initialize thermal zone device correctly

    After thermal zone device registered, as we have not read any
    temperature before, thus tz->temperature should not be 0,
    which actually means 0C, and thermal trend is not available.
    In this case, we need specially handling for the first
    thermal_zone_device_update().

    Both thermal core framework and step_wise governor is
    enhanced to handle this. And since the step_wise governor
    is the only one that uses trends, so it's the only thermal
    governor that needs to be updated.

    Tested-by: Manuel Krause <manuelkrause@netscape.net>
    Tested-by: szegad <szegadlo@poczta.onet.pl>
    Tested-by: prash <prash.n.rao@gmail.com>
    Tested-by: amish <ammdispose-arch@yahoo.com>
    Tested-by: Matthias <morpheusxyz123@yahoo.de>
    Reviewed-by: Javi Merino <javi.merino@arm.com>
    Signed-off-by: Zhang Rui <rui.zhang@intel.com>
    Signed-off-by: Chen Yu <yu.c.chen@intel.com>

CC: <stable@vger.kernel.org> #3.18+
Link: https://bugzilla.redhat.com/show_bug.cgi?id=1317190
Link: https://bugzilla.kernel.org/show_bug.cgi?id=114551
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
2016-03-18 14:10:57 +08:00
..
int340x_thermal Thermal: Enable Broxton SoC thermal reporting device 2015-12-29 16:17:53 +08:00
samsung thermal: exynos: Defer probe if vtmu is present but not registered 2016-03-08 14:22:25 -08:00
st Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2015-09-11 16:13:47 -07:00
ti-soc-thermal thermal: ti-soc-thermal: clean up the error handling a bit 2016-03-08 11:57:37 -08:00
Kconfig Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal into thermal-soc 2016-03-15 07:53:01 +08:00
Makefile thermal: Add Mediatek thermal controller support 2016-02-18 07:20:36 -08:00
armada_thermal.c thermal: armada: Fix possible overflow in the Armada 380 thermal sensor formula 2015-10-30 11:33:23 -07:00
clock_cooling.c thermal: introduce clock cooling device 2014-11-20 10:43:16 -04:00
cpu_cooling.c thermal: cpu_cooling: fix out of bounds access in time_in_idle 2016-02-11 07:13:29 -08:00
db8500_cpufreq_cooling.c thermal: db8500_cpufreq_cooling: Fix module autoload for OF platform driver 2015-09-13 20:26:19 -07:00
db8500_thermal.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
devfreq_cooling.c devfreq_cooling: return on allocation failure 2015-11-04 11:06:29 -08:00
dove_thermal.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
fair_share.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
gov_bang_bang.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
hisi_thermal.c Merge branches 'thermal-core' and 'thermal-intel' of .git into next 2015-09-02 10:08:02 +08:00
imx_thermal.c imx: thermal: use CPU temperature grade info for thresholds 2015-11-23 16:38:40 -08:00
intel_pch_thermal.c thermal: intel_pch_thermal: Enable Skylake PCH thermal 2016-03-15 07:51:17 +08:00
intel_powerclamp.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2015-09-11 16:13:47 -07:00
intel_quark_dts_thermal.c x86/platform/iosf_mbi: Remove duplicate definitions 2015-12-09 01:18:34 +01:00
intel_soc_dts_iosf.c x86/platform/iosf_mbi: Remove duplicate definitions 2015-12-09 01:18:34 +01:00
intel_soc_dts_iosf.h Thermal: Intel SoC: DTS thermal IOSF core 2015-05-01 11:20:42 +08:00
intel_soc_dts_thermal.c Thermal: Intel SoC: DTS thermal use common APIs 2015-05-01 11:20:42 +08:00
kirkwood_thermal.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
mtk_thermal.c thermal: small style cleanup in mtk_thermal 2016-02-18 07:45:37 -08:00
of-thermal.c thermal: of-thermal: Add devm version of thermal_zone_of_sensor_register 2016-03-09 10:31:20 -08:00
power_allocator.c thermal: power_allocator: Use temperature reading from tz 2015-11-12 10:47:24 -08:00
qcom-spmi-temp-alarm.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
rcar_thermal.c thermal: rcar_thermal: don't open code of_device_get_match_data() 2016-03-08 11:53:12 -08:00
rockchip_thermal.c thermal: rockchip: fix the tsadc sequence output on rk3228/rk3399 2016-02-29 21:06:39 -08:00
spear_thermal.c thermal: spear: use __maybe_unused for PM functions 2016-02-09 14:12:08 -08:00
step_wise.c Thermal: initialize thermal zone device correctly 2015-12-29 15:59:44 +08:00
tegra_soctherm.c thermal: tegra_soctherm: fix sign bit of temperature 2016-03-08 12:41:40 -08:00
thermal_core.c Thermal: Ignore invalid trip points 2016-03-18 14:10:57 +08:00
thermal_core.h Thermal: initialize thermal zone device correctly 2015-12-29 15:59:44 +08:00
thermal_hwmon.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
thermal_hwmon.h thermal: hwmon: move hwmon support to single file 2013-09-03 09:09:12 -04:00
user_space.c Thermal: build thermal governors into thermal_sys module 2013-04-14 23:28:43 +08:00
x86_pkg_temp_thermal.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00