]> www.infradead.org Git - users/willy/xarray.git/commit
thermal: Add PCIe cooling driver
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Fri, 18 Oct 2024 14:47:54 +0000 (17:47 +0300)
committerBjorn Helgaas <bhelgaas@google.com>
Sat, 16 Nov 2024 16:09:30 +0000 (10:09 -0600)
commitd278b098282d1327f6e1be82aacb18457a4d244d
treef5330d8dcda06a3b51b8479954bf890bb4bea1f0
parentde9a6c8d5dbfedb5eb3722c822da0490f6a59a45
thermal: Add PCIe cooling driver

Add a thermal cooling driver to provide path to access PCIe bandwidth
controller using the usual thermal interfaces.

A cooling device is instantiated for controllable PCIe Ports from the
bwctrl service driver.

If registering the cooling device fails, allow bwctrl's probe to succeed
regardless. As cdev in that case contains IS_ERR() pseudo "pointer", clean
that up inside the probe function so the remove side doesn't need to
suddenly make an odd looking IS_ERR() check.

The thermal side state 0 means no throttling, i.e., maximum supported PCIe
Link Speed.

Link: https://lore.kernel.org/r/20241018144755.7875-9-ilpo.jarvinen@linux.intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
[bhelgaas: dropped data->cdev test per
https://lore.kernel.org/r/ZzRm1SJTwEMRsAr8@wunner.de]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Rafael J. Wysocki <rafael@kernel.org> # From the cooling device interface perspective
MAINTAINERS
drivers/pci/pcie/bwctrl.c
drivers/thermal/Kconfig
drivers/thermal/Makefile
drivers/thermal/pcie_cooling.c [new file with mode: 0644]
include/linux/pci-bwctrl.h [new file with mode: 0644]