[GIT PULL] Thermal control updates for v6.6-rc1

From: Rafael J. Wysocki
Date: Mon Aug 28 2023 - 09:00:27 EST


Hi Linus,

Please pull from the tag

git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
thermal-6.6-rc1

with top-most commit d08122864e7d127d3481c97f9e8afda1371e116b

Merge updates of thermal drivers for Intel platforms for 6.6-rc1.

on top of commit ac4436a5b20e0ef1f608a9ef46c08d5d142f8da6

thermal: of: fix double-free on unregistration

to receive thermal control updates for 6.6-rc1.

These rework the Intel DTS IOSF and the ACPI thermal drivers to pass
tables of generic trip point structures to the core during
initialization and make some requisite modifications in the thermal
core, fix a few issues elsewhere and clean up code.

This includes changes that are present in the ACPI updates for
6.6-rc1 pull request too, because they involve both ACPI and the
thermal core. The list of specific changes below is limited to thermal
control, however.

Specifics:

- Make the ACPI thermal driver use its own Notify() handler (Michal
Wilczynski).

- Rework the ACPI thermal driver to use a table of generic trip point
structures on top of the internal representation of trip points and
remove thermal zone callbacks that are not necessary any more from
that driver (Rafael Wysocki).

- Fix a few issues in the Intel DTS IOSF thermal driver, clean up code
in it and make it pass tables of generic trip point structures to the
core during thermal zone registration (Rafael Wysocki).

- Drop a redundant check from the Intel DTS IOSF thermal driver's
"remove" routine (Zhang Rui).

- Use module_platform_driver() to replace an open-coded counterpart of
it in the int340x thermal driver (Yang Yingliang).

- Fix possible uninitialized value access in __thermal_of_bind() and
__thermal_of_unbind() (Peng Fan).

- Make the int3400 driver use thermal zone device wrappers (Daniel
Lezcano).

- Remove redundant thermal zone state check from the int340x thermal
driver (Daniel Lezcano).

- Drop non-functional nocrt parameter from ACPI thermal (Mario
Limonciello).

- Explicitly include correct DT includes in the thermal core and
drivers (Rob Herring).

Thanks!


---------------

Daniel Lezcano (2):
thermal/drivers/int3400: Use thermal zone device wrappers
thermal/drivers/int340x: Do not check the thermal zone state

Mario Limonciello (1):
ACPI: thermal: Drop nocrt parameter

Michal Wilczynski (9):
ACPI: bus: Introduce wrappers for ACPICA notify handler install/remove
ACPI: bus: Set driver_data to NULL every time .add() fails
ACPI: AC: Install Notify() handler directly
ACPI: video: Install Notify() handler directly
ACPI: battery: Install Notify() handler directly
ACPI: HED: Install Notify() handler directly
ACPI: NFIT: Install Notify() handler directly
ACPI: NFIT: Remove unnecessary .remove callback
ACPI: thermal: Install Notify() handler directly

Peng Fan (1):
thermal/of: Fix potential uninitialized value access

Rafael J. Wysocki (23):
ACPI: thermal: Drop enabled flag from struct acpi_thermal_active
ACPI: thermal: Do not attach private data to ACPI handles
ACPI: thermal: Drop redundant local variable from acpi_thermal_resume()
thermal: core: Do not handle trip points with invalid temperature
thermal: intel: intel_soc_dts_iosf: Always use 2 trips
thermal: intel: intel_soc_dts_iosf: Drop redundant symbol definition
thermal: intel: intel_soc_dts_iosf: Always assume notification support
thermal: intel: intel_soc_dts_iosf: Untangle update_trip_temp()
thermal: intel: intel_soc_dts_iosf: Pass sensors to update_trip_temp()
thermal: intel: intel_soc_dts_iosf: Change initialization ordering
thermal: intel: intel_soc_dts_iosf: Add helper for resetting trip points
thermal: intel: intel_soc_dts_iosf: Rework critical trip setup
thermal: intel: intel_soc_dts_iosf: Use struct thermal_trip
thermal: core: Introduce thermal_zone_device_exec()
thermal: core: Add priv pointer to struct thermal_trip
ACPI: thermal: Clean up acpi_thermal_register_thermal_zone()
ACPI: thermal: Carry out trip point updates under zone lock
ACPI: thermal: Introduce struct acpi_thermal_trip
thermal: core: Rework and rename __for_each_thermal_trip()
ACPI: thermal: Use trip point table to register thermal zones
ACPI: thermal: Rework thermal_get_trend()
ACPI: thermal: Drop unnecessary thermal zone callbacks
ACPI: thermal: Eliminate code duplication from acpi_thermal_notify()

Rob Herring (1):
thermal: Explicitly include correct DT includes

Yang Yingliang (1):
thermal: intel: int340x: simplify the code with module_platform_driver()

Zhang Rui (1):
thermal: intel: intel_soc_dts_iosf: Remove redundant check

---------------

Documentation/admin-guide/kernel-parameters.txt | 4 -
drivers/acpi/ac.c | 27 +-
drivers/acpi/acpi_video.c | 20 +-
drivers/acpi/battery.c | 24 +-
drivers/acpi/bus.c | 28 +-
drivers/acpi/hed.c | 15 +-
drivers/acpi/nfit/core.c | 42 +-
drivers/acpi/thermal.c | 470 ++++++++++-----------
drivers/thermal/amlogic_thermal.c | 2 -
drivers/thermal/broadcom/bcm2711_thermal.c | 2 +-
drivers/thermal/broadcom/brcmstb_thermal.c | 2 +-
drivers/thermal/hisi_thermal.c | 2 +-
drivers/thermal/imx8mm_thermal.c | 1 -
drivers/thermal/imx_sc_thermal.c | 1 -
drivers/thermal/imx_thermal.c | 2 +-
.../intel/int340x_thermal/int3400_thermal.c | 44 +-
.../intel/int340x_thermal/int3401_thermal.c | 13 +-
.../processor_thermal_device_pci_legacy.c | 2 +-
drivers/thermal/intel/intel_soc_dts_iosf.c | 188 +++------
drivers/thermal/intel/intel_soc_dts_iosf.h | 15 +-
drivers/thermal/intel/intel_soc_dts_thermal.c | 17 +-
drivers/thermal/k3_bandgap.c | 2 +-
drivers/thermal/k3_j72xx_bandgap.c | 2 +-
drivers/thermal/mediatek/auxadc_thermal.c | 1 -
drivers/thermal/mediatek/lvts_thermal.c | 2 +-
drivers/thermal/qcom/qcom-spmi-adc-tm5.c | 1 -
drivers/thermal/qcom/qcom-spmi-temp-alarm.c | 1 -
drivers/thermal/rcar_gen3_thermal.c | 2 +-
drivers/thermal/rcar_thermal.c | 2 +-
drivers/thermal/rzg2l_thermal.c | 2 +-
drivers/thermal/samsung/exynos_tmu.c | 2 +-
drivers/thermal/sprd_thermal.c | 2 +-
drivers/thermal/st/stm_thermal.c | 2 -
drivers/thermal/sun8i_thermal.c | 2 +-
drivers/thermal/tegra/tegra30-tsensor.c | 2 +-
drivers/thermal/thermal_core.c | 22 +-
drivers/thermal/thermal_core.h | 4 -
drivers/thermal/thermal_of.c | 11 +-
drivers/thermal/thermal_trip.c | 18 +-
drivers/thermal/uniphier_thermal.c | 1 -
include/acpi/acpi_bus.h | 6 +
include/linux/thermal.h | 9 +
42 files changed, 508 insertions(+), 509 deletions(-)