Thermal: initialize thermal zone device correctly
authorZhang Rui <rui.zhang@intel.com>
Fri, 30 Oct 2015 08:31:47 +0000 (16:31 +0800)
committerZhang Rui <rui.zhang@intel.com>
Tue, 29 Dec 2015 07:59:44 +0000 (15:59 +0800)
commitbb431ba26c5cd0a17c941ca6c3a195a3a6d5d461
tree10368cd1731f1856bade627fa1f38acd9150d3a5
parent74bf8efb5fa6e958d2d7c7917b8bb672085ec0c6
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.

CC: <stable@vger.kernel.org> #3.18+
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>
drivers/thermal/step_wise.c
drivers/thermal/thermal_core.c
drivers/thermal/thermal_core.h
include/linux/thermal.h