Re: [PATCH v4 3/4] thermal/core: Build ascending ordered indexes for the trip points

From: Daniel Lezcano
Date: Thu Jul 21 2022 - 06:59:11 EST


On 19/07/2022 20:56, Rafael J. Wysocki wrote:
On Mon, Jul 18, 2022 at 4:50 PM Daniel Lezcano
<daniel.lezcano@xxxxxxxxxx> wrote:

By convention the trips points are declared in the ascending
temperature order. However, no specification for the device tree, ACPI
or documentation tells the trip points must be ordered this way.

In the other hand, we need those to be ordered to browse them at the

s/In/On/

thermal events.

What if they are all inspected every time?

My bad, my sentence is confusing. The trip point are browsed every time and we need to have them ordered to detect correctly the thermal events.

But if we assume they are ordered and change the code
based on this assumption, any platform with shuffled trip points
description will be broken (if they exist).

Instead of taking the risk of breaking the existing platforms, use an
array of temperature ordered trip identifiers and make it available
for the code needing to browse the trip points in an ordered way.

Well, having ops->get_trip_temp() suggests that the trip temperatures
can be dynamic. Is the ordering guaranteed to be preserved in that
case?

The number of trips can not be changed. It is fixed when the thermal zone is created AFAICT. The get_trip_temp() is just a way to let the different driver declare their own trip structure which is actually something I'm trying to fix by moving the structure thermal_trip inside the thermal zone. But that is a longer and separate work.

Anyway, if they need to be sorted, why don't we just sort them
properly instead of adding this extra array?

We can not because ATM the trip points array is private to the different sensors.

[ ... ]


--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog