[PATCH 01/28] PCI: Rip out pci_bus_add_devices() from pci_scan_bus()

Yinghai Lu yinghai at kernel.org
Fri Jan 16 15:15:37 PST 2015


On Thu, Jan 15, 2015 at 5:43 PM, Yijing Wang <wangyijing at huawei.com> wrote:
> Pci_bus_add_devices() should not be placed in pci_scan_bus().
> Now pci device will be added to driver core once its
> creation. All things left in pci_bus_add_devices() are
> driver attachment and other trivial sysfs things.
> Pci_scan_bus() should be the function responsible for
> scanning PCI devices, not including driver attachment.
> Other, some callers(m68k,unicore32,alpha) of pci_scan_bus()
> will call pci_bus_size_bridges() and pci_bus_assign_resources()
> after pci_scan_bus().
>
> E.g.
> In m68k
> mcf_pci_init()
>         pci_scan_bus()
>                 ...
>                 pci_bus_add_devices() --- try to attach driver
>         pci_fixup_irqs()
>         pci_bus_size_bridges()
>         pci_bus_assign_resources()
>
> It is not correct, resources should be assigned correctly
> before attaching driver.

No, at that time pci drivers are loaded yet.

Thanks

Yinghai



More information about the linux-arm-kernel mailing list