Re: [PATCH v3 2/2] thermal: trip: Rework thermal_zone_set_trip() and its callers

From: Rafael J. Wysocki
Date: Thu Nov 30 2023 - 06:31:57 EST


On Thu, Nov 30, 2023 at 11:40 AM Daniel Lezcano
<daniel.lezcano@xxxxxxxxxx> wrote:
>
>
> Hi Rafael,
>
>
> On 29/11/2023 14:38, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> >
> > Both trip_point_temp_store() and trip_point_hyst_store() use
> > thermal_zone_set_trip() to update a given trip point, but none of them
> > actually needs to change more than one field in struct thermal_trip
> > representing it. However, each of them effectively calls
> > __thermal_zone_get_trip() twice in a row for the same trip index value,
> > once directly and once via thermal_zone_set_trip(), which is not
> > particularly efficient, and the way in which thermal_zone_set_trip()
> > carries out the update is not particularly straightforward.
> >
> > Moreover, some checks done by them both need not go under the thermal
> > zone lock and code duplication between them can be reduced quite a bit
> > by moving the majority of logic into thermal_zone_set_trip().
> >
> > Rework all of the above functions to address the above.
>
> The resulting change looks to me over complicate for the code it is
> supposed to improve. One new function, one enum and leaking the sysfs
> buffer to a function located outside of thermal-sysfs.c. That does not
> improve the readability IMO.
>
> The function thermal_zone_set_trip is only called from thermal_syfs.c
>
> Why not directly change the trip point temp/hyst value in the array in
> the thermal_sysfs functions and remove the function
> thermal_zone_set_trip() ?

I can do that if you prefer it.