On Thu, Oct 4, 2012 at 2:14 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: > On Thu, Oct 4, 2012 at 12:44 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: >> >> To answer your specific question, yes, I do think drivers that are >> statically built in probably should be registered before devices are >> enumerated. That way, the boot-time case is more similar to the >> hot-add case. >> >> Obviously, for drivers that can be modules, the reverse must work as >> well (enumerate devices, then load and register the driver). And then >> the other order (register driver, then enumerate device) must also >> work so future hot-adds of the same device type work. > > so you will have to handle two paths instead one. I'm not proposing any additional requirements; I'm just describing the way Linux driver modules work. Any module *already* must support both orders (enumerate devices then register driver, as well as register driver then enumerate and bind to a hot-added device). And this should not be two paths, it should be one and the same path for both orders. > current booting path sequence are tested more than hot add path. True. You're proposing fiddling with driver binding order so we can use the current boot path ordering at hot-add time. I'm suggesting that the "register driver then enumerate device" order is something we have to support for hot-add anyway, and that we should use the same ordering at boot-time. That's more change for the boot-time path, but I think it's cleaner and more maintainable in the long term. -- 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