Messages in this thread | | | Subject | Re: [PATCH v3 1/4] thermal/core: Encapsulate the trip point crossed function | From | Zhang Rui <> | Date | Mon, 18 Jul 2022 12:58:04 +0800 |
| |
On Fri, 2022-07-15 at 23:09 +0200, Daniel Lezcano wrote: > 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>
Reviewed by: Zhang Rui <rui.zhang@intel.com>
> --- > 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);
| |