[PATCH v1 1/2] ACPI: PM: Let acpi_dev_pm_attach() skip devices without ACPI PM

Rafael J. Wysocki posted 1 patch 4 weeks ago
drivers/acpi/device_pm.c |    9 +++++++++
1 file changed, 9 insertions(+)
[PATCH v1 1/2] ACPI: PM: Let acpi_dev_pm_attach() skip devices without ACPI PM
Posted by Rafael J. Wysocki 4 weeks ago
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

It is pointless to attach the generic ACPI PM domain to devices whose
ACPI companions don't support ACPI power management and don't have a
wakeup GPE, so update acpi_dev_pm_attach() to skip such devices.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/acpi/device_pm.c |    9 +++++++++
 1 file changed, 9 insertions(+)

--- a/drivers/acpi/device_pm.c
+++ b/drivers/acpi/device_pm.c
@@ -1457,6 +1457,15 @@ int acpi_dev_pm_attach(struct device *de
 		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
 	 * management twice.