summaryrefslogtreecommitdiff
path: root/drivers/thermal
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2013-06-17 21:24:23 +0800
committerZhang Rui <rui.zhang@intel.com>2013-08-15 15:48:59 +0800
commit178c2490b99f898efc06d1ad75cadc84f13021a6 (patch)
tree07d2ccb2548315cb969438b48db4f1af5fb4393d /drivers/thermal
parent044d5c26da262fa433dacbe1c6962459050d6b06 (diff)
downloadlwn-178c2490b99f898efc06d1ad75cadc84f13021a6.tar.gz
lwn-178c2490b99f898efc06d1ad75cadc84f13021a6.zip
thermal: step_wise: cdev only needs update on a new target state
The cooling device only needs update on a new target state. Since we already check old target in thermal_zone_trip_update(), we can do one more check to see if it's a new target state. If not, we can reasonably save some uncecesary code execution. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Eduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Diffstat (limited to 'drivers/thermal')
-rw-r--r--drivers/thermal/step_wise.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/thermal/step_wise.c b/drivers/thermal/step_wise.c
index 4d4ddae1a991..0afbd86e4962 100644
--- a/drivers/thermal/step_wise.c
+++ b/drivers/thermal/step_wise.c
@@ -133,6 +133,9 @@ static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip)
old_target = instance->target;
instance->target = get_target_state(instance, trend, throttle);
+ if (old_target == instance->target)
+ continue;
+
/* Activate a passive thermal instance */
if (old_target == THERMAL_NO_TARGET &&
instance->target != THERMAL_NO_TARGET)