On Mon, Dec 10, 2012 at 3:09 PM, Rafael J. Wysocki <rjw@xxxxxxx> wrote: > On Monday, December 10, 2012 11:47:27 PM Rafael J. Wysocki wrote: >> On Monday, December 10, 2012 09:07:06 AM Yinghai Lu wrote: >> > On Mon, Dec 10, 2012 at 6:46 AM, Rafael J. Wysocki <rjw@xxxxxxx> wrote: >> > > On Sunday, December 09, 2012 09:34:42 PM Yinghai Lu wrote: >> > >> >> > >> Can we expand the BUS_ADD_* concept to other devices instead of just >> > >> acpi_device? >> > >> >> > >> aka we should let struct device has this add_type field. >> > > >> > > Having done that in ACPI to cover our use case here, we can try to move it >> > > into struct device if there are use cases beyond ACPI that can't be covered >> > > by using deferred driver probing. >> > >> > pci device for hotplug have same problem. need to delay driver attach >> > for them too. >> >> OK, I'll take a look. Any pointers to speed that up? >> >> > also BUS_ADD_MATCH and BUS_ADD_START are duplicated. >> >> Not at the moment, they do different things as code goes. >> >> > old add are separated to adding all devices to tree and then matching >> > work to load the drivers. >> > >> > so _START is not needed anymore, only user.start in pci_root driver >> > should be removed. >> > code in .start could be moved .add without problem. >> >> Yes, I'm going to do that as the next step. I didn't want this particular >> patchset to grow too big. I'll post another one on top of it if people >> don't have problems with this one. > > By the way, can you please remind me where you wanted to put the > pci_bus_add_devices() and why? > please check my for-pci-next branch at http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=shortlog;h=refs/heads/for-pci-next that includes delay loading acpi driver and pci driver. http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=commitdiff;h=8c031eabbdc83dd4d93933b82d96b55d038bcb64 PCI: prepare to use device drivers_autoprobe to delay attach drivers http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=commitdiff;h=40a12dc8942a8ed02bfbf75ee1ffbfbdf1511b45 PCI: Use device_add for device and bus early http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=commitdiff;h=8af9b4c250091c30afedeb2e7f14fca06997c811 ACPI: add drivers_autoprobe in struct acpi_device http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=commitdiff;h=ae498e157e9dc8794932562b2f885ddc3a1a229a ACPI: use device drivers_autoprobe to delay loading acpi drivers http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=commitdiff;h=6bee785b563a0b0e311e188321b1160593d5e6ee PCI, ACPI: Remove not used acpi_pci_root_start() http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=commitdiff;h=f467a1cd18a07a250be8527b94612fd4a654fbd1 ACPI: remove acpi_op_start workaround -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html