Hi Jason, On Fri, Aug 08, 2025 at 09:15:15AM -0300, Jason Gunthorpe wrote: > On Wed, Aug 06, 2025 at 02:55:38PM -0700, Shyam Saini wrote: > > Individual PCI devices lack dedicated device tree nodes, but > > This is not the case, you can put PCI devices in the DT as well, there > is a syntax for it. Why not do that and have the FW populate it on the > device node itself?
sorry, I missed that, were you referring to [1] CONFIG_PCI_DYNAMIC_OF_NODES approach? I tried a PoC with that and got the expected results. However, it requires hardcoding PCI device IDs using DECLARE_PCI_FIXUP_FINAL? or were you referring to [2]? In that case, the PCI child node data needs to be parsed, which is currently handled individually by each host controller driver. This might not be a strong argument, but since firmware updates tend to happen less frequently than OS updates, any addition or modification to the FDT would require a firmware update. Wouldn't it be more maintainable to keep this logic in Linux, which is easier to update and typically updated more often? > You should CC all the device tree maintainers on something like this > as well. > sure, Cc'd some more folks [1] https://lwn.net/Articles/939317/ [2] https://elixir.bootlin.com/linux/v6.16/source/arch/arm64/boot/dts/nvidia/tegra186.dtsi#L1340 Thanks, Shyam