[PATCH v6 0/3] Thermal ACPI APIs for generic trip points

From: Daniel Lezcano
Date: Fri Jan 20 2023 - 18:15:51 EST


Recently sent as a RFC, the thermal ACPI for generic trip points is a set of
functions to fill the generic trip points structure which will become the
standard structure for the thermal framework and its users.

Different Intel drivers and the ACPI thermal driver are using the ACPI tables to
get the thermal zone information. As those are getting the same information,
providing this set of ACPI function with the generic trip points will
consolidate the code.

Also, the Intel PCH and the Intel 34xx drivers are converted to use the generic
trip points relying on the ACPI generic trip point parsing functions.

These changes have been tested on a Thinkpad Lenovo x280 with the PCH and
INT34xx drivers. No regression have been observed, the trip points remain the
same for what is described on this system.

Changelog:
- V6:
- Changed thermal ACPI function names according the changes done in the first patch
- Put back the GTSH function here as it is specific to int340x
- Propagate the function name change from thermal ACPI
- Changed the functions name and prototype to return the temperature
instead of passing a pointer
- Removed the GTSH function as it does not belong to the ACPI standard
- Changed hysteresis -> hyst, temperature -> temp
- Changed message level info -> debug
- Changed error messages
- Return -ENODATA error only
- Fixed description functions

- V5:
- Fixed GTSH unit conversion, deciK -> milli C

- V4:
- Fixed Kconfig option dependency, select THERMAL_ACPI if ACPI is set
only for the PCH driver

- V3:
- Took into account Rafael's comments
- Used a silence option THERMAL_ACPI in order to stay consistent
with THERMAL_OF. It is up to the API user to select the option.

- V2:
- Fix the thermal ACPI patch where the thermal_acpi.c was not included in
the series
- Provide a couple of users of this API which could have been tested on a
real system

Daniel Lezcano (3):
thermal/acpi: Add ACPI trip point routines
thermal/drivers/intel: Use generic trip points for intel_pch
thermal/drivers/intel: Use generic trip points int340x

drivers/thermal/Kconfig | 4 +
drivers/thermal/Makefile | 1 +
drivers/thermal/intel/Kconfig | 1 +
drivers/thermal/intel/int340x_thermal/Kconfig | 1 +
.../int340x_thermal/int340x_thermal_zone.c | 168 ++++------------
.../int340x_thermal/int340x_thermal_zone.h | 10 +-
drivers/thermal/intel/intel_pch_thermal.c | 88 ++-------
drivers/thermal/thermal_acpi.c | 185 ++++++++++++++++++
include/linux/thermal.h | 7 +
9 files changed, 263 insertions(+), 202 deletions(-)
create mode 100644 drivers/thermal/thermal_acpi.c

--
2.34.1