Hook up a PCIe device into the thermal framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I've been looking for a nice way to hook up a PCIe device into the
thermal framework recently and I want to confront my findings with the
right people here.

I have a PCIe wireless adapter connected to PCI-to-PCI bridge which in
turns is connected to a PCI root complex (RC). I want to define a
thermal zone over the wireless adapter in my system and control it
over DT (thermal-zones{...})  instead of keeping thermal zone
definition statically in the PCI device driver (as it's done in the
iwlwifi wireless driver or the mlxsw ethernet driver for example)

The issue I have faced is that a PCI device has no DT node
(pci_dev.dev.of_node) which is reasonable as this is by design
discoverable device. This, however, prevents me to register the PCI
device as a thermal sensor (dev.of_node is required by thermal).

As far as we consider a fixed PCI topology eg. a SoC internal design I
could put something like this in DT (used by ath11k/ath10k btw).

pci@... {
   ...
   pci-bridge@... {
   ...
        wifi:wifi@0 {
              reg = <0x0 0 0 0 0>;
              #thermal-sensor-cells = <0>;
         };
   };
};

but in case we consider an arbitrary location of the device in PCI
topology that DT modification will not work and still I have no device
node.

Is there any preferred solution in the Linux kernel for this kind of use-case?

All the ideas appreciated.

Thanks,
/Waldek



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux