]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
thermal: core: Relocate critical and hot trip handling
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 10 Apr 2024 17:44:34 +0000 (19:44 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 24 Apr 2024 18:42:39 +0000 (20:42 +0200)
Modify handle_thermal_trip() to call handle_critical_trips() only after
finding that the trip temperature has been crossed on the way up and
remove the redundant temperature check from the latter.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
drivers/thermal/thermal_core.c

index 39ea842d883d9ce7d88e01f72be0e49ca1fc7097..87b3cb8679d5772169c7131c32390162af3adb6b 100644 (file)
@@ -350,10 +350,6 @@ void thermal_zone_device_critical_reboot(struct thermal_zone_device *tz)
 static void handle_critical_trips(struct thermal_zone_device *tz,
                                  const struct thermal_trip *trip)
 {
-       /* If we have not crossed the trip_temp, we do not care. */
-       if (trip->temperature <= 0 || tz->temperature < trip->temperature)
-               return;
-
        trace_thermal_zone_trip(tz, thermal_zone_trip_id(tz, trip), trip->type);
 
        if (trip->type == THERMAL_TRIP_CRITICAL)
@@ -405,10 +401,11 @@ static void handle_thermal_trip(struct thermal_zone_device *tz,
                list_add_tail(&td->notify_list_node, way_up_list);
                td->notify_temp = trip->temperature;
                td->threshold -= trip->hysteresis;
-       }
 
-       if (trip->type == THERMAL_TRIP_CRITICAL || trip->type == THERMAL_TRIP_HOT)
-               handle_critical_trips(tz, trip);
+               if (trip->type == THERMAL_TRIP_CRITICAL ||
+                   trip->type == THERMAL_TRIP_HOT)
+                       handle_critical_trips(tz, trip);
+       }
 }
 
 static void update_temperature(struct thermal_zone_device *tz)