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

Message ID 4551531.LvFx2qVVIh@kreacher
Headers
Series thermal: Store trips table and ops in thermal_zone_device |

Message

Rafael J. Wysocki Feb. 14, 2024, 12:25 p.m. UTC
  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!
  

Comments

Daniel Lezcano Feb. 22, 2024, 10:34 a.m. UTC | #1
On 14/02/2024 13:42, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> Because the thermal core creates and uses its own copy of the trips
> table passed to thermal_zone_device_register_with_trips(), it is not
> necessary to hold on to a local copy of it any more after the given
> thermal zone has been registered.
> 
> Accordingly, modify Intel thermal drivers to discard the trips tables
> passed to thermal_zone_device_register_with_trips() after thermal zone
> registration, for example by storing them in local variables which are
> automatically discarded when the zone registration is complete.
> 
> Also make some additional code simplifications unlocked by the above
> changes.
> 
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>