On 2012/12/14 6:15, Rafael J. Wysocki wrote: > Hi All, > > On Sunday, December 09, 2012 11:58:42 PM Rafael J. Wysocki wrote: >> Hi, >> >> The following patches change the ordering of the ACPI namespace scanning code >> so that all struct acpi_device objects in the given scope are registered before >> ACPI drivers are probed against them. They also do some simplifications and >> clarifications of the code made possible by this main change. >> >> This is done for three basic reasons. First, we need the boot ACPI namespace >> scanning code to be as similar as reasonably possible to the hot-plug ACPI >> namespace scanning code. Second, the ordering of PCI devices enumeration >> versus ACPI-backed platform devices registration needs to be such that the PCI >> devices in the given scope are all registered first. Finally, when we start to >> actually manage ACPI device resources as appropriate (e.g. resolve resource >> conflicts properly) we'll need all struct acpi_device nodes to be registered >> before any "companion" physical nodes or ACPI drivers are bound to them. >> >> The patches have been tested on Toshiba Portege R500 without breaking stuff >> (I used some additional debug code to verify that the ordering of device >> discovery had not been modified by them), but if you see any problems with >> them regarding hot-plug, please let me know. >> >> [1/6] - Separate adding ACPI device objects from probing ACPI drivers. >> [2/6] - Change the ordering of PCI root bridge driver registration. >> [3/6] - Make acpi_bus_add() and acpi_bus_start() visibly different. >> [4/6] - Reduce the usage of struct acpi_bus_ops >> [5/6] - Replace struct acpi_bus_ops with an enum type >> [6/6] - Change the ordering of acpi_bus_check_add() to avoid unnecessary checks. > > The second revision is necessary to address problems found by Yijing Wang > during testing and explained by Jiang Liu (thanks guys!). > > The problem is that acpi_walk_namespace() doesn't execute the pre_order_visit > callback for the starting handle, so the callback routine has the be executed > for it directly, if necessary. > > I also modified a couple of changelogs to better explain the motivation of the > patches. > > Boot sequence tested on Toshiba Portege R500, but testing on systems with > hotplug will be appreciated. Hi rafael, I tested this version patchset in my ia64 hotplug machine, and the result looks ok. Thanks! Yijing > > Thanks, > Rafael > > -- 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