Commit 10c3ab8c authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge back a commit related to system sleep for 6.20

parents 684d3b26 4fb352df
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -712,10 +712,9 @@ out the following operations:
  * During system suspend pm_runtime_get_noresume() is called for every device
    right before executing the subsystem-level .prepare() callback for it and
    pm_runtime_barrier() is called for every device right before executing the
    subsystem-level .suspend() callback for it.  In addition to that the PM core
    calls __pm_runtime_disable() with 'false' as the second argument for every
    device right before executing the subsystem-level .suspend_late() callback
    for it.
    subsystem-level .suspend() callback for it.  In addition to that, the PM
    core disables runtime PM for every device right before executing the
    subsystem-level .suspend_late() callback for it.

  * During system resume pm_runtime_enable() and pm_runtime_put() are called for
    every device right after executing the subsystem-level .resume_early()
+4 −3
Original line number Diff line number Diff line
@@ -1647,10 +1647,11 @@ static void device_suspend_late(struct device *dev, pm_message_t state, bool asy
		goto Complete;

	/*
	 * Disable runtime PM for the device without checking if there is a
	 * pending resume request for it.
	 * After this point, any runtime PM operations targeting the device
	 * will fail until the corresponding pm_runtime_enable() call in
	 * device_resume_early().
	 */
	__pm_runtime_disable(dev, false);
	pm_runtime_disable(dev);

	if (dev->power.syscore)
		goto Skip;
+1 −1
Original line number Diff line number Diff line
@@ -1125,7 +1125,7 @@ EXPORT_SYMBOL_GPL(pm_wq);

static int __init pm_start_workqueues(void)
{
	pm_wq = alloc_workqueue("pm", WQ_FREEZABLE | WQ_UNBOUND, 0);
	pm_wq = alloc_workqueue("pm", WQ_UNBOUND, 0);
	if (!pm_wq)
		return -ENOMEM;