Hello! > Extend libpci API with a new option PCI_FILL_PARENT to fill parent > device for the current enumerated device. This can be useful in > situation when non-complaint PCI-to-PCI bridge-like device with Type 0 > header is present in the system and behind this bridge are either > endpoint devices or another non-compliant bridges. This applies e.g. > for notoriously broken Galileo and Marvell PCI and PCIe devices. > lspci can will use PCI_FILL_PARENT information from the system if > config space does not provide enough information to build topology. Looks reasonable, but please put a better explanation in pci.h (in particular, mention that this is not guaranteed to be available). When reading the implementation in the sysfs backend, I wonder how you can guarantee that at the moment of parsing the child device, the parent device is already known to libpci. Martin