On Wed, 9 Oct 2024 12:52:22 +0300 Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> wrote: > 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. > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > Acked-by: Rafael J. Wysocki <rafael@xxxxxxxxxx> # From the cooling device interface perspective Trivial thing noticed on a reread. > diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig > index 61e7ae524b1f..d3f9686e26e7 100644 > --- a/drivers/thermal/Kconfig > +++ b/drivers/thermal/Kconfig > @@ -220,6 +220,15 @@ config DEVFREQ_THERMAL > > If you want this support, you should say Y here. > > +config PCIE_THERMAL > + bool "PCIe cooling support" > + depends on PCIEPORTBUS > + help > + This implements PCIe cooling mechanism through bandwidth reduction > + for PCIe devices. Technically links not devices, but don't think that matters much