[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251120-thermal-device-v1-0-bbdad594d57a@gmx.de>
Date: Thu, 20 Nov 2025 04:41:10 +0100
From: Armin Wolf <W_Armin@....de>
To: "Rafael J. Wysocki" <rafael@...nel.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>, Zhang Rui <rui.zhang@...el.com>,
Lukasz Luba <lukasz.luba@....com>, Len Brown <lenb@...nel.org>,
Jonathan Corbet <corbet@....net>, Ido Schimmel <idosch@...dia.com>,
Petr Machata <petrm@...dia.com>
Cc: linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org,
etnaviv@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org,
linux-tegra@...r.kernel.org, linux-acpi@...r.kernel.org,
linux-doc@...r.kernel.org, netdev@...r.kernel.org,
linux-wireless@...r.kernel.org, ath10k@...ts.infradead.org,
ath11k@...ts.infradead.org, linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org, platform-driver-x86@...r.kernel.org,
linux-pci@...r.kernel.org, imx@...ts.linux.dev,
linux-renesas-soc@...r.kernel.org
Subject: [PATCH RFC RESEND 0/8] thermal: core: Allow setting the parent
device of thermal zone/cooling devices
Drivers registering thermal zone/cooling devices are currently unable
to tell the thermal core what parent device the new thermal zone/
cooling device should have, potentially causing issues with suspend
ordering and making it impossible for user space appications to
associate a given thermal zone device with its parent device.
This patch series aims to fix this issue by extending the functions
used to register thermal zone/cooling devices to also accept a parent
device pointer. The first six patches convert all functions used for
registering cooling devices, while the functions used for registering
thermal zone devices are converted by the remaining two patches.
I tested this series on various devices containing (among others):
- ACPI thermal zones
- ACPI processor devices
- PCIe cooling devices
- Intel Wifi card
- Intel powerclamp
- Intel TCC cooling
I also compile-tested the remaining affected drivers, however i would
still be happy if the relevant maintainers (especially those of the
mellanox ethernet switch driver) could take a quick glance at the
code and verify that i am using the correct device as the parent
device.
This work is also necessary for extending the ACPI thermal zone driver
to support the _TZD ACPI object in the future.
Signed-off-by: Armin Wolf <W_Armin@....de>
---
Armin Wolf (8):
thermal: core: Allow setting the parent device of cooling devices
thermal: core: Set parent device in thermal_of_cooling_device_register()
ACPI: processor: Stop creating "device" sysfs link
ACPI: fan: Stop creating "device" sysfs link
ACPI: video: Stop creating "device" sysfs link
thermal: core: Set parent device in thermal_cooling_device_register()
ACPI: thermal: Stop creating "device" sysfs link
thermal: core: Allow setting the parent device of thermal zone devices
Documentation/driver-api/thermal/sysfs-api.rst | 10 ++++-
drivers/acpi/acpi_video.c | 9 +----
drivers/acpi/fan_core.c | 16 ++------
drivers/acpi/processor_thermal.c | 15 +------
drivers/acpi/thermal.c | 33 ++++++---------
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 4 +-
drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c | 4 +-
drivers/net/ethernet/mellanox/mlxsw/core_thermal.c | 47 +++++++++++-----------
drivers/net/wireless/ath/ath10k/thermal.c | 2 +-
drivers/net/wireless/ath/ath11k/thermal.c | 2 +-
drivers/net/wireless/intel/iwlwifi/mld/thermal.c | 6 +--
drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 12 +++---
drivers/net/wireless/mediatek/mt76/mt7915/init.c | 2 +-
drivers/net/wireless/mediatek/mt76/mt7996/init.c | 2 +-
drivers/platform/x86/acerhdf.c | 4 +-
drivers/power/supply/power_supply_core.c | 4 +-
drivers/thermal/armada_thermal.c | 2 +-
drivers/thermal/cpufreq_cooling.c | 2 +-
drivers/thermal/cpuidle_cooling.c | 2 +-
drivers/thermal/da9062-thermal.c | 2 +-
drivers/thermal/devfreq_cooling.c | 2 +-
drivers/thermal/dove_thermal.c | 2 +-
drivers/thermal/imx_thermal.c | 2 +-
.../intel/int340x_thermal/int3400_thermal.c | 2 +-
.../intel/int340x_thermal/int3403_thermal.c | 4 +-
.../intel/int340x_thermal/int3406_thermal.c | 2 +-
.../intel/int340x_thermal/int340x_thermal_zone.c | 13 +++---
.../int340x_thermal/processor_thermal_device_pci.c | 7 ++--
drivers/thermal/intel/intel_pch_thermal.c | 2 +-
drivers/thermal/intel/intel_powerclamp.c | 2 +-
drivers/thermal/intel/intel_quark_dts_thermal.c | 2 +-
drivers/thermal/intel/intel_soc_dts_iosf.c | 2 +-
drivers/thermal/intel/intel_tcc_cooling.c | 2 +-
drivers/thermal/intel/x86_pkg_temp_thermal.c | 6 +--
drivers/thermal/kirkwood_thermal.c | 2 +-
drivers/thermal/pcie_cooling.c | 2 +-
drivers/thermal/renesas/rcar_thermal.c | 10 +++--
drivers/thermal/spear_thermal.c | 2 +-
drivers/thermal/tegra/soctherm.c | 5 +--
drivers/thermal/testing/zone.c | 2 +-
drivers/thermal/thermal_core.c | 23 +++++++----
drivers/thermal/thermal_of.c | 9 +++--
include/linux/thermal.h | 22 +++++-----
43 files changed, 145 insertions(+), 162 deletions(-)
---
base-commit: 653ef66b2c04bcdecaf3d13ea5069c4b1f27d5da
change-id: 20251114-thermal-device-655d138824c6
Best regards,
--
Armin Wolf <W_Armin@....de>
Powered by blists - more mailing lists