[PATCH v1] Revert "ACPI: PM: Let acpi_dev_pm_attach() skip devices without ACPI PM"
From: Rafael J. Wysocki
Date: Tue Mar 03 2026 - 09:28:28 EST
From: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx>
Revert commit 88fad6ce090b ("ACPI: PM: Let acpi_dev_pm_attach() skip
devices without ACPI PM") that introduced SoundWire suspend regression
[1].
It is actually not true that the commit above doesn't make a functional
difference because acpi_subsys_suspend(), for example, may resume
devices in runtime-suspend which affects the subsequent handling of
those devices during the suspend transition. For this reason, the
devices that were handled by the ACPI PM domain before that commit may
be handled differently now which may lead to suspend-resume issues.
Fixes: 88fad6ce090b ("ACPI: PM: Let acpi_dev_pm_attach() skip devices without ACPI PM")
Reported-by: Péter Ujfalusi <peter.ujfalusi@xxxxxxxxxxxxxxx>
Closes: https://github.com/thesofproject/linux/pull/5677#issuecomment-3984375077 [1]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
---
drivers/acpi/device_pm.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c
index f2579611e0a5..aa55ecfc2923 100644
--- a/drivers/acpi/device_pm.c
+++ b/drivers/acpi/device_pm.c
@@ -1456,15 +1456,6 @@ int acpi_dev_pm_attach(struct device *dev, bool power_on)
if (!adev || !acpi_match_device_ids(adev, special_pm_ids))
return 0;
- /*
- * Skip devices whose ACPI companions don't support power management and
- * don't have a wakeup GPE.
- */
- if (!acpi_device_power_manageable(adev) && !acpi_device_can_wakeup(adev)) {
- dev_dbg(dev, "No ACPI power management or wakeup GPE\n");
- return 0;
- }
-
/*
* Only attach the power domain to the first device if the
* companion is shared by multiple. This is to prevent doing power
--
2.51.0