[PATCH v2 0/6] ACPI: scan: Adjust power management initialization and PCI devices handling
"Rafael J. Wysocki" <[email protected]>
| Newsgroups | org.kernel.vger.linux-acpi,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci,org.kernel.vger.linux-pm |
|---|---|
| Organization | Linux Kernel Development - Intel |
| Message-ID | <[email protected]> |
Hi All, This is an update of https://lore.kernel.org/linux-acpi/[email protected]/ that adds one patch, drops two patches, and addresses review comments in some other patches in the series. The new patch drops an unneeded parent power state update that may lead to issues in theory from acpi_device_get_power(). One of the patches dropped from the original series is not necessary any more after addressing review comments in patch [2/6], and the other one might introduced some issues pointed out by Sashiko. Overall, the series aims at addressing a few issues present in the core ACPI device enumeration code, mostly related to the acpi_bus_attach() function. The first one is that, on some systems, ACPI power management is initialized twice for devices that have missing dependencies to start with. An attempt to address this issue had been made during the 7.3 merge window, but it had to be reverted [1]. The approach used here is roughly the same as in the reverted commit, but it takes PCI devices (which are a special case) into account. In addition to the above, ACPI power management may be initialized prematurely for device objects whose parents are not ready for enumeration. The other issues are that flags are unnecessarily cleared by acpi_bus_attach() for devices with missing dependencies, the "initialized" ACPI device object flag is not particularly useful, the "visited" ACPI device object flag is used for two different things which is confusing at best, and PCI devices are handled by acpi_bus_attach() like any other devices which is a mistake. Please see the changelogs of individual patches for details. Thanks! Link: https://lore.kernel.org/linux-acpi/20260820-acpi-power-resource-ref-fix-v2-1-29818173ea13@linux.spacemit.com/ [1]