summaryrefslogtreecommitdiff
path: root/drivers/thermal
diff options
context:
space:
mode:
authorBernard Zhao <bernard@vivo.com>2020-10-27 04:37:42 +0300
committerDaniel Lezcano <daniel.lezcano@linaro.org>2020-10-27 11:53:19 +0300
commit37b2539e63d6570c9ee51b1d48bdecb334df367d (patch)
tree93493738f49dbde1a758515cb75d18376e7780f4 /drivers/thermal
parent345a8af7ea63ac75a9000159d6298769d3d50f91 (diff)
downloadlinux-37b2539e63d6570c9ee51b1d48bdecb334df367d.tar.xz
drivers/thermal/core: Optimize trip points check
The trip points are checked one by one with multiple condition branches where one condition is enough to disable the trip point. Merge all these conditions in a single 'OR' statement. Signed-off-by: Bernard Zhao <bernard@vivo.com> Suggested-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/20201027013743.62392-1-bernard@vivo.com [dlezcano] Changed patch description
Diffstat (limited to 'drivers/thermal')
-rw-r--r--drivers/thermal/thermal_core.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index 96349ba59725..90e38cc199f4 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -1358,12 +1358,9 @@ thermal_zone_device_register(const char *type, int trips, int mask,
goto release_device;
for (count = 0; count < trips; count++) {
- if (tz->ops->get_trip_type(tz, count, &trip_type))
- set_bit(count, &tz->trips_disabled);
- if (tz->ops->get_trip_temp(tz, count, &trip_temp))
- set_bit(count, &tz->trips_disabled);
- /* Check for bogus trip points */
- if (trip_temp == 0)
+ if (tz->ops->get_trip_type(tz, count, &trip_type) ||
+ tz->ops->get_trip_temp(tz, count, &trip_temp) ||
+ !trip_temp)
set_bit(count, &tz->trips_disabled);
}