thermal/core: Avoid calling ->get_trip_temp() unnecessarily
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Mon, 18 Jul 2022 14:50:36 +0000 (16:50 +0200)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 28 Jul 2022 15:29:52 +0000 (17:29 +0200)
As the trip temperature is already available when calling the function
handle_critical_trips(), pass it as a parameter instead of having this
function calling the ops again to retrieve the same data.

Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Reviewed-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20220718145038.1114379-2-daniel.lezcano@linaro.org
drivers/thermal/thermal_core.c

index cdc0552e8c42e1cf14ee469d5747499489c0b3b3..20e11beee1da6701347988f47fba5f9badb79948 100644 (file)
@@ -340,12 +340,8 @@ void thermal_zone_device_critical(struct thermal_zone_device *tz)
 EXPORT_SYMBOL(thermal_zone_device_critical);
 
 static void handle_critical_trips(struct thermal_zone_device *tz,
-                                 int trip, enum thermal_trip_type trip_type)
+                                 int trip, int trip_temp, enum thermal_trip_type trip_type)
 {
-       int trip_temp;
-
-       tz->ops->get_trip_temp(tz, trip, &trip_temp);
-
        /* If we have not crossed the trip_temp, we do not care. */
        if (trip_temp <= 0 || tz->temperature < trip_temp)
                return;
@@ -384,7 +380,7 @@ static void handle_thermal_trip(struct thermal_zone_device *tz, int trip)
        }
 
        if (type == THERMAL_TRIP_CRITICAL || type == THERMAL_TRIP_HOT)
-               handle_critical_trips(tz, trip, type);
+               handle_critical_trips(tz, trip, trip_temp, type);
        else
                handle_non_critical_trips(tz, trip);
        /*