Commit 00fd9aad authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Revert "ACPI: PM: Let acpi_dev_pm_attach() skip devices without ACPI PM"



Revert commit 88fad6ce ("ACPI: PM: Let acpi_dev_pm_attach() skip
devices without ACPI PM") that introduced a 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: 88fad6ce ("ACPI: PM: Let acpi_dev_pm_attach() skip devices without ACPI PM")
Reported-by: default avatarPéter Ujfalusi <peter.ujfalusi@linux.intel.com>
Closes: https://github.com/thesofproject/linux/pull/5677#issuecomment-3984375077

 [1]
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/2829615.mvXUDI8C0e@rafael.j.wysocki
parent 11439c46
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -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