Hi All, The ACPI thermal driver has undergone some significant changes recently, but there is still room for improvements in it. First off, it turns out that a small rearrangement of its internal data structures allows code duplication in it to be reduced quite a bit (patches [01-04/13]. Next, by changing the way it binds cooling devices to thermal zones (and trips within them), the use of trip point indices can be eliminated from it (patch [11/13]) which then allows its internal data structures to be simplified even further (patch [12/13]). However, in order to make those latter changes, it is useful to modify struct thermal_instance to carry a trip pointer instead a trip index (patch [05/13]) which then allows the core to be adjusted to facilitate using trip pointers for cooling device binding and unbinding (patch [10/13]). Meanwhile, the modification of struct thermal_instance mentioned above also helps to reduce the thermal governors overhead related to using __thermal_zone_get_trip() that carries out bounds checking and copies trip point data which both are not necessary in the governor code. Some related cleanups of thermal governors can be done as well (patches [06-09/13]. Finally, it is prudent to visually distinguish the names of structure fields and variables that carry temperature values in different units, so patch [13/13] changes the names of those items in the ACPI thermal driver that are used to store temperature values in deci-Kelvin. This series is on top of the series of ACPI thermal driver posted last week: https://patchwork.kernel.org/project/linux-acpi/list/?series=783543 and a couple of recent thermal core patches: https://patchwork.kernel.org/project/linux-pm/patch/12296181.O9o76ZdvQC@kreacher/ https://patchwork.kernel.org/project/linux-pm/patch/5981326.lOV4Wx5bFT@kreacher/ It will be exposed in a separate git branch for easier access. Please see the individual patch changelogs for details. Thanks!