All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/4] thermal/core: Encapsulate the trip point crossed function
@ 2022-07-15 21:09 Daniel Lezcano
  2022-07-15 21:09 ` [PATCH v3 2/4] thermal/core: Avoid calling ->get_trip_temp() unnecessarily Daniel Lezcano
                   ` (3 more replies)
  0 siblings, 4 replies; 23+ messages in thread
From: Daniel Lezcano @ 2022-07-15 21:09 UTC (permalink / raw)
  To: daniel.lezcano, rafael
  Cc: quic_manafm, rui.zhang, amitk, lukasz.luba, linux-pm, linux-kernel

The routine where the trip point crossed is detected is a strategic
place where different processing will happen. Encapsulate the code in
a function, so all specific actions related with a trip point crossed
can be grouped.

Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 drivers/thermal/thermal_core.c | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index cdc0552e8c42..d9f771b15ed8 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -358,6 +358,25 @@ static void handle_critical_trips(struct thermal_zone_device *tz,
 		tz->ops->critical(tz);
 }
 
+static void handle_thermal_trip_crossed(struct thermal_zone_device *tz, int trip,
+					int trip_temp, int trip_hyst, enum thermal_trip_type trip_type)
+{
+	if (tz->last_temperature == THERMAL_TEMP_INVALID)
+		return;
+
+	if (tz->last_temperature < trip_temp &&
+	    tz->temperature >= trip_temp) {
+		thermal_notify_tz_trip_up(tz->id, trip,
+					  tz->temperature);
+	}
+
+	if (tz->last_temperature >= trip_temp &&
+	    tz->temperature < (trip_temp - trip_hyst)) {
+		thermal_notify_tz_trip_down(tz->id, trip,
+					    tz->temperature);
+	}
+}
+
 static void handle_thermal_trip(struct thermal_zone_device *tz, int trip)
 {
 	enum thermal_trip_type type;
@@ -372,16 +391,7 @@ static void handle_thermal_trip(struct thermal_zone_device *tz, int trip)
 	if (tz->ops->get_trip_hyst)
 		tz->ops->get_trip_hyst(tz, trip, &hyst);
 
-	if (tz->last_temperature != THERMAL_TEMP_INVALID) {
-		if (tz->last_temperature < trip_temp &&
-		    tz->temperature >= trip_temp)
-			thermal_notify_tz_trip_up(tz->id, trip,
-						  tz->temperature);
-		if (tz->last_temperature >= trip_temp &&
-		    tz->temperature < (trip_temp - hyst))
-			thermal_notify_tz_trip_down(tz->id, trip,
-						    tz->temperature);
-	}
+	handle_thermal_trip_crossed(tz, trip, trip_temp, hyst, type);
 
 	if (type == THERMAL_TRIP_CRITICAL || type == THERMAL_TRIP_HOT)
 		handle_critical_trips(tz, trip, type);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2023-10-26 18:37 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-15 21:09 [PATCH v3 1/4] thermal/core: Encapsulate the trip point crossed function Daniel Lezcano
2022-07-15 21:09 ` [PATCH v3 2/4] thermal/core: Avoid calling ->get_trip_temp() unnecessarily Daniel Lezcano
2022-07-18  4:59   ` Zhang Rui
2022-07-18 14:04     ` Daniel Lezcano
2022-07-19  1:01       ` Zhang Rui
2022-07-15 21:09 ` [PATCH v3 3/4] thermal/core: Build ascending ordered indexes for the trip points Daniel Lezcano
2022-07-18  5:28   ` Zhang Rui
2022-07-18 13:21     ` Daniel Lezcano
2022-07-19  1:14       ` Zhang Rui
2022-07-19  1:35         ` Zhang Rui
2022-07-19  7:22         ` Daniel Lezcano
2022-07-19 14:17           ` Zhang Rui
2022-07-21  9:34             ` Daniel Lezcano
2022-07-22  7:15               ` Zhang, Rui
2022-07-22 16:49                 ` Rafael J. Wysocki
2022-07-18 14:32     ` Daniel Lezcano
2022-07-19  1:07       ` Zhang Rui
2022-07-15 21:09 ` [PATCH v3 4/4] thermal/core: Fix thermal trip cross point Daniel Lezcano
2022-07-18  5:30   ` Zhang Rui
2022-07-24 13:26   ` [thermal/core] 3c3e786e2b: BUG:KASAN:slab-out-of-bounds_in_handle_thermal_trip kernel test robot
2022-07-25 16:58     ` kernel test robot
2023-10-26 18:37   ` [PATCH v3 4/4] thermal/core: Fix thermal trip cross point Rafael J. Wysocki
2022-07-18  4:58 ` [PATCH v3 1/4] thermal/core: Encapsulate the trip point crossed function Zhang Rui

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.