On 2015/1/17 7:16, Yinghai Lu wrote: > On Fri, Jan 16, 2015 at 3:15 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: >> On Thu, Jan 15, 2015 at 5:43 PM, Yijing Wang <wangyijing@xxxxxxxxxx> 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, for booting path, at that time pci drivers are *NOT* loaded yet. Hi Yinghai, I knew code flow here would not cause problems, sorry the log confused you, I will refresh it. But I think pci_scan_bus()/pci_scan_root_bus() which could only be used during system boot up(before module_init) make the pci scan logic obscure. Because most callers additionally call pci_bus_size_bridges() and pci_bus_assign_resources() later, so rip out pci_bus_add_devices() from pci_scan_bus()/pci_scan_root_bus() make code have better readability. Thanks! Yijing. > > Thanks > > Yinghai > > . > -- Thanks! Yijing -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html