[RFC/RFT PATCH 03/18] PCI: Introduce pci_scan_root_bus_bridge()
From: arnd@arndb.de (Arnd Bergmann)
Date: 2017-05-02 19:36:41
Also in:
linux-pci
From: arnd@arndb.de (Arnd Bergmann)
Date: 2017-05-02 19:36:41
Also in:
linux-pci
On Tue, May 2, 2017 at 7:15 PM, Lorenzo Pieralisi [off-list ref] wrote:
On Fri, Apr 28, 2017 at 02:28:38PM +0200, Arnd Bergmann wrote:quoted
On Wed, Apr 26, 2017 at 1:17 PM, Lorenzo Pieralisi [off-list ref] wrote: Good idea, yes. To avoid growing the number of interfaces too much, should we change the existing users of pci_register_host_bridge in host drivers over to this entry point, and make the other one local to probe.c then?Yes, the problem is that there are drivers (ie pcie-iproc.c) that require the struct pci_bus (created by pci_register_host_bridge()) to fiddle with it to check link status and THEN scan the bus (so the pci_register_host_bridge() call can't be embedded in the scan interface - the driver requires struct pci_bus for pci_ops to work before scanning the bus itself). I will see how I can accommodate this change because you definitely have a point.
The obvious answer for that particular problem would be a link_check()
callback in the bridge operations. I think that would also fit in well with
the dw_pcie driver that has some private infrastructure for it. I don't
know if that callback is sufficient to solve all related problems though.
Arnd