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!