diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-07-31 21:40:03 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-07-31 21:40:03 +0200 |
commit | 50ba22479c324c0d9dc8134d519dcba92d83a8a7 (patch) | |
tree | 0f939779c7ff97d1b4e923a4fbded2718e09e4d3 /drivers/acpi/device_pm.c | |
parent | ACPI / PM: Use target_state to set the device power state (diff) | |
parent | Merge branch 'acpi-scan' into acpi-pm (diff) | |
download | linux-50ba22479c324c0d9dc8134d519dcba92d83a8a7.tar.xz linux-50ba22479c324c0d9dc8134d519dcba92d83a8a7.zip |
Merge back earlier ACPI PM material for v4.3.
Diffstat (limited to 'drivers/acpi/device_pm.c')
-rw-r--r-- | drivers/acpi/device_pm.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c index 88dbbb115285..337e8118836d 100644 --- a/drivers/acpi/device_pm.c +++ b/drivers/acpi/device_pm.c @@ -1123,6 +1123,14 @@ int acpi_dev_pm_attach(struct device *dev, bool power_on) if (dev->pm_domain) return -EEXIST; + /* + * Only attach the power domain to the first device if the + * companion is shared by multiple. This is to prevent doing power + * management twice. + */ + if (!acpi_device_is_first_physical_node(adev, dev)) + return -EBUSY; + acpi_add_pm_notifier(adev, dev, acpi_pm_notify_work_func); dev->pm_domain = &acpi_general_pm_domain; if (power_on) { |