Lines Matching full:async
31 #include <linux/async.h>
233 * @async: If unset, wait only if the device's power.async_suspend flag is set.
235 static void dpm_wait(struct device *dev, bool async) in dpm_wait() argument
240 if (async || (pm_async_enabled && dev->power.async_suspend)) in dpm_wait()
250 static void dpm_wait_for_children(struct device *dev, bool async) in dpm_wait_for_children() argument
252 device_for_each_child(dev, &async, dpm_wait_fn); in dpm_wait_for_children()
255 static void dpm_wait_for_suppliers(struct device *dev, bool async) in dpm_wait_for_suppliers() argument
271 dpm_wait(link->supplier, async); in dpm_wait_for_suppliers()
276 static bool dpm_wait_for_superior(struct device *dev, bool async) in dpm_wait_for_superior() argument
298 dpm_wait(parent, async); in dpm_wait_for_superior()
301 dpm_wait_for_suppliers(dev, async); in dpm_wait_for_superior()
310 static void dpm_wait_for_consumers(struct device *dev, bool async) in dpm_wait_for_consumers() argument
328 dpm_wait(link->consumer, async); in dpm_wait_for_consumers()
333 static void dpm_wait_for_subordinate(struct device *dev, bool async) in dpm_wait_for_subordinate() argument
335 dpm_wait_for_children(dev, async); in dpm_wait_for_subordinate()
336 dpm_wait_for_consumers(dev, async); in dpm_wait_for_subordinate()
634 * @async: If true, the device is being resumed asynchronously.
639 static void device_resume_noirq(struct device *dev, pm_message_t state, bool async) in device_resume_noirq() argument
655 if (!dpm_wait_for_superior(dev, async)) in device_resume_noirq()
711 pm_dev_err(dev, state, async ? " async noirq" : " noirq", error); in device_resume_noirq()
736 * Trigger the resume of "async" devices upfront so they don't have to in dpm_noirq_resume_devices()
737 * wait for the "non-async" ones they don't depend on. in dpm_noirq_resume_devices()
788 * @async: If true, the device is being resumed asynchronously.
792 static void device_resume_early(struct device *dev, pm_message_t state, bool async) in device_resume_early() argument
807 if (!dpm_wait_for_superior(dev, async)) in device_resume_early()
849 pm_dev_err(dev, state, async ? " async early" : " early", error); in device_resume_early()
878 * Trigger the resume of "async" devices upfront so they don't have to in dpm_resume_early()
879 * wait for the "non-async" ones they don't depend on. in dpm_resume_early()
926 * @async: If true, the device is being resumed asynchronously.
928 static void device_resume(struct device *dev, pm_message_t state, bool async) in device_resume() argument
957 if (!dpm_wait_for_superior(dev, async)) in device_resume()
1019 pm_dev_err(dev, state, async ? " async" : "", error); in device_resume()
1052 * Trigger the resume of "async" devices upfront so they don't have to in dpm_resume()
1053 * wait for the "non-async" ones they don't depend on. in dpm_resume()
1233 * @async: If true, the device is being suspended asynchronously.
1238 static int device_suspend_noirq(struct device *dev, pm_message_t state, bool async) in device_suspend_noirq() argument
1247 dpm_wait_for_subordinate(dev, async); in device_suspend_noirq()
1284 pm_dev_err(dev, state, async ? " async noirq" : " noirq", error); in device_suspend_noirq()
1407 * @async: If true, the device is being suspended asynchronously.
1411 static int device_suspend_late(struct device *dev, pm_message_t state, bool async) in device_suspend_late() argument
1426 dpm_wait_for_subordinate(dev, async); in device_suspend_late()
1468 pm_dev_err(dev, state, async ? " async late" : " late", error); in device_suspend_late()
1621 * @async: If true, the device is being suspended asynchronously.
1623 static int device_suspend(struct device *dev, pm_message_t state, bool async) in device_suspend() argument
1633 dpm_wait_for_subordinate(dev, async); in device_suspend()
1741 pm_dev_err(dev, state, async ? " async" : "", error); in device_suspend()