[PATCH v2 0/6] thermal: Store trips table and ops in thermal_zone_device

From: Rafael J. Wysocki
Date: Wed Feb 14 2024 - 07:51:39 EST


Hi Everyone,

This is an update of

https://lore.kernel.org/linux-pm/2728491.mvXUDI8C0e@kreacher/

that has been rebased on top of

https://lore.kernel.org/linux-pm/6017196.lOV4Wx5bFT@kreacher/

and includes some bug fixes.

The original series description still applies:

"This series changes the PM core to copy the trips and zone ops directly
into struct thermal_zone_device so as to allow the callers of the zone
registration function to discard their own copies of those things after
zone registration and/or possibly allocate them as read-only.

The first patch makes the thermal core create a copy of the trips table which
is declared as a flex array to enable additional bounds checking on it. The
next two patches update the ACPI thermal driver and Intel thermal drivers to
take benefit of that change.

In a similar pattern, patch [4/6] makes the thermal core create an internal
copy of the zone ops supplied by the zone creator, so as to allow the
original ops structure to be discarded after zone registration or allocated
as read-only, and the next two patches update the ACPI thermal driver and Intel
thermal drivers to actually do that.

The other thermal drivers need not be changed, although in principle they may
be simplified a bit too in the future.

As usual, please refer to the individual patch changelogs for details."

However, the imx thermal driver is modified by patch [1/6], because it uses its
local trips table and expects it to contain the current passive trip temperature
value (as set via sysfs), and the thermal_of driver is modified by patch [4/6],
because it uses the ops pointer from the thermal zone device to free the ops.

Thanks!