Skip to content

Commit 325e377

Browse files
committed
ACPI: PM: Set/clear power.strict_midlayer in prepare/complete
The ACPI general PM domain and the LPSS PM domain do not expect their mid-layer runtime PM suspend callbacks to be invoked at all during system-wide suspend and resume and they do not expect their runtime resume callbacks to be invoked at any point when runtime PM is disabled for the given device during system suspend and resume, so make acpi_subsys_prepare() set power.strict_midlayer for the given device to express that expectation and make acpi_subsys_complete() clear it. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Link: https://patch.msgid.link/4463062.ejJDZkT8p0@rjwysocki.net
1 parent ffda4ca commit 325e377

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

drivers/acpi/device_pm.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,6 +1119,8 @@ int acpi_subsys_prepare(struct device *dev)
11191119
{
11201120
struct acpi_device *adev = ACPI_COMPANION(dev);
11211121

1122+
dev_pm_set_strict_midlayer(dev, true);
1123+
11221124
if (dev->driver && dev->driver->pm && dev->driver->pm->prepare) {
11231125
int ret = dev->driver->pm->prepare(dev);
11241126

@@ -1147,6 +1149,8 @@ void acpi_subsys_complete(struct device *dev)
11471149
*/
11481150
if (pm_runtime_suspended(dev) && pm_resume_via_firmware())
11491151
pm_request_resume(dev);
1152+
1153+
dev_pm_set_strict_midlayer(dev, false);
11501154
}
11511155
EXPORT_SYMBOL_GPL(acpi_subsys_complete);
11521156

0 commit comments

Comments
 (0)