Hi Linus, Please pull from the tag git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \ thermal-6.7-rc1 with top-most commit 607218deac6e29c52f4ce521ed467a0d75090a0d Merge tag 'thermal-v6.7-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux on top of commit 6465e260f48790807eef06b583b38ca9789b6072 Linux 6.6-rc3 to receive thermal control updates for 6.7-rc1. These further rework the ACPI thermal driver, after the changes made to it in the previous cycle, to make it easier to grasp, get rid of redundant pieces of internal data structures and eliminate its reliance on a specific ordering of trip point objects in the thermal core, make thermal core adjustments needed for the ACPI thermal driver rework, modify the thermal governor interface so as to use trip pointers for representing trip points in it, switch over multiple thermal drivers to using void platform driver remove callbacks, add support for 2 hardware features to the Intel int340x thermal driver, add support for new hardware on ARM platforms, update documentation, fix problems, clean up code and update the MAINTAINERS record for thermal control. Specifics: - Untangle the initialization and updates of passive and active trip points in the ACPI thermal driver (Rafael Wysocki). - Reduce code duplication related to the initialization and updates of trip points in the ACPI thermal driver (Rafael Wysocki). - Use trip pointers for cooling device binding in the ACPI thermal driver (Rafael Wysocki). - Simplify critical and hot trips representation in the ACPI thermal driver (Rafael Wysocki). - Use trip pointers in thermal governors and in the related part of the thermal core (Rafael Wysocki). - Drop the trips_disabled bitmask that has become redundant from the thermal core (Rafael Wysocki). - Avoid updating trip points when the thermal zone temperature falls into a trip point's hysteresis range (ícolas F. R. A. Prado). - Add power floor notifications support to the int340x thermal control driver (Srinivas Pandruvada). - Rework updating trip points in the int340x thermal driver so that it does not access thermal zone internals directly (Rafael Wysocki). - Use param_get_byte() instead of param_get_int() as the max_idle module parameter .get() callback in the Intel powerclamp thermal driver to avoid possible out-of-bounds access (David Arcari). - Add workload hints support to the int340x thermal driver (Srinivas Pandruvada). - Add support for Mediatek LVTS MT8192 along with suspend/resume routines (Balsam Chihi). - Fix probe for THERMAL_V2 in the Mediatek LVTS driver (Markus Schneider-Pargmann). - Remove duplicate error message from the max76620 driver when thermal_of_zone_register() fails (Thierry Reding). - Add i.MX7D compatible bindings to fix a warning from dtbs_check for the imx6ul platform (Alexander Stein). - Add sa8775p compatible to the QCom tsens driver (Priyansh Jain). - Fix error check in lvts_debugfs_init() to be against PTR_ERR() in the LVTS Mediatek driver (Minjie Du). - Remove unused variable in thermal/tools (Kuan-Wei Chiu). - Document the imx8dl thermal sensor (Fabio Estevam). - Add variable names in callback prototypes to prevent warning from checkpatch.pl in the imx8mm driver (Bragatheswaran Manickavel). - Add missing unevaluatedProperties on child node schemas for tegra124 (Rob Herring) - Add mt7988 support to the Mediatek LVTS driver (Frank Wunderlich). Thanks! --------------- Alexander Stein (3): dt-bindings: imx-thermal: Add #thermal-sensor-cells property dt-bindings: net: microchip: Allow nvmem-cell usage dt-bindings: timer: add imx7d compatible Balsam CHIHI (4): dt-bindings: thermal: mediatek: Add LVTS thermal controller definition for mt8192 thermal/drivers/mediatek/lvts_thermal: Add suspend and resume thermal/drivers/mediatek/lvts_thermal: Add mt8192 support thermal/drivers/mediatek/lvts_thermal: Update calibration data documentation Bragatheswaran Manickavel (1): thermal/drivers/imx8mm_thermal: Fix function pointer declaration by adding identifier name Dan Carpenter (2): ACPI: thermal: Fix a small leak in acpi_thermal_add() thermal: core: prevent potential string overflow David Arcari (1): thermal: intel: powerclamp: fix mismatch in get function for max_idle Dmitry Baryshkov (1): thermal/qcom/tsens: Drop ops_v0_1 Fabio Estevam (1): dt-bindings: thermal: fsl,scu-thermal: Document imx8dl Frank Wunderlich (4): dt-bindings: thermal: mediatek: Add mt7988 lvts compatible dt-bindings: thermal: mediatek: Add LVTS thermal sensors for mt7988 thermal/drivers/mediatek/lvts_thermal: Make coeff configurable thermal/drivers/mediatek/lvts_thermal: Add mt7988 support Jonathan Bergh (1): ACPI: thermal: Fix up function header formatting in two places Kuan-Wei Chiu (1): tools/thermal: Remove unused 'mds' and 'nrhandler' variables Lukasz Luba (1): thermal: Add myself as thermal reviewer in MAINTAINERS Markus Schneider-Pargmann (1): thermal/drivers/mediatek: Fix probe for THERMAL_V2 Minjie Du (1): thermal/drivers/mediatek/lvts_thermal: Fix error check in lvts_debugfs_init() Nícolas F. R. A. Prado (1): thermal: core: Don't update trip points inside the hysteresis range Priyansh Jain (1): dt-bindings: thermal: tsens: Add sa8775p compatible Rafael J. Wysocki (38): thermal: core: Drop trips_disabled bitmask ACPI: thermal: Simplify initialization of critical and hot trips ACPI: thermal: Fold acpi_thermal_get_info() into its caller ACPI: thermal: Determine the number of trip points earlier ACPI: thermal: Create and populate trip points table earlier ACPI: thermal: Simplify critical and hot trips representation ACPI: thermal: Untangle initialization and updates of the passive trip ACPI: thermal: Untangle initialization and updates of active trips ACPI: thermal: Drop redundant trip point flags ACPI: thermal: Drop valid flag from struct acpi_thermal_trip thermal: trip: Drop redundant trips check from for_each_thermal_trip() ACPI: thermal: Add device list to struct acpi_thermal_trip ACPI: thermal: Collapse trip devices update functions ACPI: thermal: Collapse trip devices update function wrappers ACPI: thermal: Merge trip initialization functions thermal: core: Store trip pointer in struct thermal_instance thermal: core: Allow trip pointers to be used for cooling device binding ACPI: thermal: Mark uninitialized active trips as invalid ACPI: thermal: Do not use trip indices for cooling device binding ACPI: thermal: Drop critical_valid and hot_valid trip flags ACPI: thermal: Rename structure fields holding temperature in deci-Kelvin ACPI: thermal: Drop list of device ACPI handles from struct acpi_thermal thermal: core: Add function to walk trips under zone lock ACPI: thermal: Move get_active_temp() ACPI: thermal: Combine passive and active trip update functions thermal: int340x: Use thermal_zone_for_each_trip() ACPI: thermal: Use thermal_zone_for_each_trip() for updating trips thermal: core: Drop thermal_zone_device_exec() thermal: trip: Remove lockdep assertion from for_each_thermal_trip() thermal: Remove Amit Kucheria from MAINTAINERS thermal: trip: Drop lockdep assertion from thermal_zone_trip_id() thermal: trip: Simplify computing trip indices thermal: trip: Define for_each_trip() macro thermal: gov_fair_share: Rearrange get_trip_level() thermal: gov_power_allocator: Use trip pointers instead of trip indices thermal: gov_step_wise: Fold update_passive_instance() into its caller thermal: core: Pass trip pointer to governor throttle callback thermal: ACPI: Include the right header file Rob Herring (1): dt-bindings: thermal: nvidia,tegra124-soctherm: Add missing unevaluatedProperties on child node schemas Srinivas Pandruvada (16): thermal: int340x: processor_thermal: Move mailbox code to common module thermal: int340x: processor_thermal: Add interrupt configuration function thermal: int340x: processor_thermal: Use non MSI interrupts by default thermal: int340x: Remove PROC_THERMAL_FEATURE_WLT_REQ for Meteor Lake thermal: int340x: processor_thermal: Add workload type hint interface thermal: int340x: Handle workload hint interrupts selftests/thermel/intel: Add test to read workload hint thermal: int340x: Add ArrowLake-S PCI ID thermal: int340x: processor_thermal: Ack all PCI interrupts thermal: int340x: processor_thermal: Move interrupt status MMIO offset to common header thermal: int340x: processor_thermal: Common function to clear SOC interrupt thermal: int340x: processor_thermal: Set feature mask before proc_thermal_add thermal: int340x: processor_thermal: Support power floor notifications thermal: int340x: processor_thermal: Handle power floor interrupts thermal: int340x: processor_thermal: Enable power floor support selftests/thermel/intel: Add test to read power floor status Thierry Reding (1): thermal/drivers/max77620: Remove duplicate error message Uwe Kleine-König (31): thermal: armada: Convert to platform remove callback returning void thermal: bcm2835: Convert to platform remove callback returning void thermal: ns: Convert to platform remove callback returning void thermal: da9062: Convert to platform remove callback returning void thermal: dove: Convert to platform remove callback returning void thermal: hisi: Convert to platform remove callback returning void thermal: imx8mm: Convert to platform remove callback returning void thermal: imx: Convert to platform remove callback returning void thermal: int3400: Convert to platform remove callback returning void thermal: int3401: Convert to platform remove callback returning void thermal: int3402: Convert to platform remove callback returning void thermal: int3403: Convert to platform remove callback returning void thermal: int3406: Convert to platform remove callback returning void thermal: k3_bandgap: Convert to platform remove callback returning void thermal: k3_j72xx_bandgap: Convert to platform remove callback returning void thermal: kirkwood: Convert to platform remove callback returning void thermal: lvts: Convert to platform remove callback returning void thermal: tsens: Convert to platform remove callback returning void thermal: rcar_gen3: Convert to platform remove callback returning void thermal: rcar: Convert to platform remove callback returning void thermal: rockchip: Convert to platform remove callback returning void thermal: rzg2l: Convert to platform remove callback returning void thermal: exynos_tmu: Convert to platform remove callback returning void thermal: spear: Convert to platform remove callback returning void thermal: sprd: Convert to platform remove callback returning void thermal: stm: Convert to platform remove callback returning void thermal: soctherm: Convert to platform remove callback returning void thermal: tegra-bpmp: Convert to platform remove callback returning void thermal: ti-bandgap: Convert to platform remove callback returning void thermal: uniphier: Convert to platform remove callback returning void thermal: amlogic: Convert to platform remove callback returning void --------------- .../devicetree/bindings/net/microchip,lan95xx.yaml | 2 + .../bindings/thermal/fsl,scu-thermal.yaml | 4 +- .../devicetree/bindings/thermal/imx-thermal.yaml | 7 + .../bindings/thermal/mediatek,lvts-thermal.yaml | 1 + .../bindings/thermal/nvidia,tegra124-soctherm.yaml | 5 + .../devicetree/bindings/thermal/qcom-tsens.yaml | 1 + .../devicetree/bindings/thermal/thermal-zones.yaml | 2 +- .../devicetree/bindings/timer/fsl,imxgpt.yaml | 4 +- Documentation/driver-api/thermal/intel_dptf.rst | 64 ++ MAINTAINERS | 2 +- drivers/acpi/thermal.c | 841 ++++++++++----------- drivers/thermal/amlogic_thermal.c | 8 +- drivers/thermal/armada_thermal.c | 6 +- drivers/thermal/broadcom/bcm2835_thermal.c | 6 +- drivers/thermal/broadcom/ns-thermal.c | 6 +- drivers/thermal/da9062-thermal.c | 5 +- drivers/thermal/dove_thermal.c | 6 +- drivers/thermal/gov_bang_bang.c | 27 +- drivers/thermal/gov_fair_share.c | 35 +- drivers/thermal/gov_power_allocator.c | 122 ++- drivers/thermal/gov_step_wise.c | 50 +- drivers/thermal/gov_user_space.c | 8 +- drivers/thermal/hisi_thermal.c | 6 +- drivers/thermal/imx8mm_thermal.c | 8 +- drivers/thermal/imx_thermal.c | 6 +- drivers/thermal/intel/int340x_thermal/Makefile | 3 + .../intel/int340x_thermal/int3400_thermal.c | 5 +- .../intel/int340x_thermal/int3401_thermal.c | 6 +- .../intel/int340x_thermal/int3402_thermal.c | 6 +- .../intel/int340x_thermal/int3403_thermal.c | 6 +- .../intel/int340x_thermal/int3406_thermal.c | 5 +- .../intel/int340x_thermal/int340x_thermal_zone.c | 78 +- .../int340x_thermal/processor_thermal_device.c | 85 ++- .../int340x_thermal/processor_thermal_device.h | 33 +- .../int340x_thermal/processor_thermal_device_pci.c | 121 ++- .../processor_thermal_device_pci_legacy.c | 3 +- .../intel/int340x_thermal/processor_thermal_mbox.c | 179 ++--- .../processor_thermal_power_floor.c | 126 +++ .../int340x_thermal/processor_thermal_wt_hint.c | 255 +++++++ .../int340x_thermal/processor_thermal_wt_req.c | 136 ++++ drivers/thermal/intel/intel_powerclamp.c | 2 +- drivers/thermal/k3_bandgap.c | 6 +- drivers/thermal/k3_j72xx_bandgap.c | 6 +- drivers/thermal/kirkwood_thermal.c | 6 +- drivers/thermal/max77620_thermal.c | 8 +- drivers/thermal/mediatek/auxadc_thermal.c | 2 +- drivers/thermal/mediatek/lvts_thermal.c | 256 ++++++- drivers/thermal/qcom/tsens-v0_1.c | 6 - drivers/thermal/qcom/tsens.c | 6 +- drivers/thermal/rcar_gen3_thermal.c | 6 +- drivers/thermal/rcar_thermal.c | 6 +- drivers/thermal/rockchip_thermal.c | 6 +- drivers/thermal/rzg2l_thermal.c | 6 +- drivers/thermal/samsung/exynos_tmu.c | 6 +- drivers/thermal/spear_thermal.c | 6 +- drivers/thermal/sprd_thermal.c | 5 +- drivers/thermal/st/stm_thermal.c | 6 +- drivers/thermal/tegra/soctherm.c | 6 +- drivers/thermal/tegra/tegra-bpmp-thermal.c | 6 +- drivers/thermal/thermal_acpi.c | 3 +- drivers/thermal/thermal_core.c | 137 ++-- drivers/thermal/thermal_core.h | 9 +- drivers/thermal/thermal_helpers.c | 8 +- drivers/thermal/thermal_sysfs.c | 3 +- drivers/thermal/thermal_trip.c | 55 +- drivers/thermal/ti-soc-thermal/ti-bandgap.c | 6 +- drivers/thermal/uniphier_thermal.c | 6 +- .../dt-bindings/thermal/mediatek,lvts-thermal.h | 28 + include/linux/thermal.h | 20 +- tools/testing/selftests/Makefile | 2 + .../selftests/thermal/intel/power_floor/Makefile | 12 + .../thermal/intel/power_floor/power_floor_test.c | 108 +++ .../selftests/thermal/intel/workload_hint/Makefile | 12 + .../intel/workload_hint/workload_hint_test.c | 157 ++++ tools/thermal/lib/mainloop.c | 16 - 75 files changed, 2170 insertions(+), 1048 deletions(-)