[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251114-thermal-device-v1-0-d8b442aae38b@gmx.de>
Date: Fri, 14 Nov 2025 04:23:01 +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>, Lucas Stach <l.stach@...gutronix.de>,
Russell King <linux+etnaviv@...linux.org.uk>,
Christian Gmeiner <christian.gmeiner@...il.com>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Amit Daniel Kachhap <amit.kachhap@...il.com>,
Viresh Kumar <viresh.kumar@...aro.org>,
Thierry Reding <thierry.reding@...il.com>,
Jonathan Hunter <jonathanh@...dia.com>, Len Brown <lenb@...nel.org>,
Jonathan Corbet <corbet@....net>, Ido Schimmel <idosch@...dia.com>,
Petr Machata <petrm@...dia.com>, Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Jeff Johnson <jjohnson@...nel.org>,
Miri Korenblit <miriam.rachel.korenblit@...el.com>,
Felix Fietkau <nbd@....name>, Lorenzo Bianconi <lorenzo@...nel.org>,
Ryder Lee <ryder.lee@...iatek.com>, Shayne Chen <shayne.chen@...iatek.com>,
Sean Wang <sean.wang@...iatek.com>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
Peter Kaestle <peter@...e.net>, Hans de Goede <hansg@...nel.org>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
Potnuri Bharat Teja <bharat@...lsio.com>,
Sebastian Reichel <sre@...nel.org>,
Miquel Raynal <miquel.raynal@...tlin.com>,
Support Opensource <support.opensource@...semi.com>,
Shawn Guo <shawnguo@...nel.org>, Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
Niklas Söderlund <niklas.soderlund@...natech.se>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Magnus Damm <magnus.damm@...il.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 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: 399fb812cd1532773e6aa985c0949859221341c4
change-id: 20251114-thermal-device-655d138824c6
Best regards,
--
Armin Wolf <W_Armin@....de>
Powered by blists - more mailing lists