[PATCH 0/6] ACPI: Change the ACPI namespace scanning code ordering

From: Rafael J. Wysocki
Date: Sun Dec 09 2012 - 18:00:33 EST


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.

Thanks,
Rafael


--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/