On Mon, Aug 06, 2018 at 12:23:10PM +0100, Lorenzo Pieralisi wrote: > > pci_configure_device(dev); > > @@ -2328,6 +2329,11 @@ void pci_device_add(struct pci_dev *dev, struct pci_bus *bus) > > ret = pcibios_add_device(dev); > > WARN_ON(ret < 0); > > > > + if (host->add_device) { > > + ret = host->add_device(dev); > > + WARN_ON(ret < 0); > > + } > > This looks fine; we could go a step further and make the hunk above > the default (weak) implementation of pcibios_add_device() that is > currently a NOP returning 0, I will remove it for v4.20. I'd love to see pcibios_add_device go away entirely. But I wonder how to get setup the pci_host_bridge pointer for the remaining architectures that still implement it. I did look for any easy way but couldn't find one. But then I don't really know this area of the PCI code too well.