[PATCH 01/28] PCI: Rip out pci_bus_add_devices() from pci_scan_bus()
From: yinghai@kernel.org (Yinghai Lu)
Date: 2015-01-16 23:15:43
Also in:
linux-alpha, linux-pci, lkml, sparclinux
From: yinghai@kernel.org (Yinghai Lu)
Date: 2015-01-16 23:15:43
Also in:
linux-alpha, linux-pci, lkml, sparclinux
On Thu, Jan 15, 2015 at 5:43 PM, Yijing Wang [off-list ref] 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