Lines Matching full:async
31 #include <linux/async.h>
234 * @async: If unset, wait only if the device's power.async_suspend flag is set.
236 static void dpm_wait(struct device *dev, bool async) in dpm_wait() argument
241 if (async || (pm_async_enabled && dev->power.async_suspend)) in dpm_wait()
251 static void dpm_wait_for_children(struct device *dev, bool async) in dpm_wait_for_children() argument
253 device_for_each_child(dev, &async, dpm_wait_fn); in dpm_wait_for_children()
256 static void dpm_wait_for_suppliers(struct device *dev, bool async) in dpm_wait_for_suppliers() argument
272 dpm_wait(link->supplier, async); in dpm_wait_for_suppliers()
277 static bool dpm_wait_for_superior(struct device *dev, bool async) in dpm_wait_for_superior() argument
299 dpm_wait(parent, async); in dpm_wait_for_superior()
302 dpm_wait_for_suppliers(dev, async); in dpm_wait_for_superior()
311 static void dpm_wait_for_consumers(struct device *dev, bool async) in dpm_wait_for_consumers() argument
329 dpm_wait(link->consumer, async); in dpm_wait_for_consumers()
334 static void dpm_wait_for_subordinate(struct device *dev, bool async) in dpm_wait_for_subordinate() argument
336 dpm_wait_for_children(dev, async); in dpm_wait_for_subordinate()
337 dpm_wait_for_consumers(dev, async); in dpm_wait_for_subordinate()
585 * @async: If true, the device is being resumed asynchronously.
590 static int device_resume_noirq(struct device *dev, pm_message_t state, bool async) in device_resume_noirq() argument
606 if (!dpm_wait_for_superior(dev, async)) in device_resume_noirq()
687 pm_dev_err(dev, pm_transition, " async", error); in async_resume_noirq()
702 * Advanced the async threads upfront, in dpm_noirq_resume_devices()
703 * in case the starting of async threads is in dpm_noirq_resume_devices()
704 * delayed by non-async resuming devices. in dpm_noirq_resume_devices()
757 * @async: If true, the device is being resumed asynchronously.
761 static int device_resume_early(struct device *dev, pm_message_t state, bool async) in device_resume_early() argument
776 if (!dpm_wait_for_superior(dev, async)) in device_resume_early()
824 pm_dev_err(dev, pm_transition, " async", error); in async_resume_early()
843 * Advanced the async threads upfront, in dpm_resume_early()
844 * in case the starting of async threads is in dpm_resume_early()
845 * delayed by non-async resuming devices. in dpm_resume_early()
894 * @async: If true, the device is being resumed asynchronously.
896 static int device_resume(struct device *dev, pm_message_t state, bool async) in device_resume() argument
915 if (!dpm_wait_for_superior(dev, async)) in device_resume()
988 pm_dev_err(dev, pm_transition, " async", error); in async_resume()
1194 * @async: If true, the device is being suspended asynchronously.
1199 static int __device_suspend_noirq(struct device *dev, pm_message_t state, bool async) in __device_suspend_noirq() argument
1208 dpm_wait_for_subordinate(dev, async); in __device_suspend_noirq()
1278 pm_dev_err(dev, pm_transition, " async", error); in async_suspend_noirq()
1382 * @async: If true, the device is being suspended asynchronously.
1386 static int __device_suspend_late(struct device *dev, pm_message_t state, bool async) in __device_suspend_late() argument
1397 dpm_wait_for_subordinate(dev, async); in __device_suspend_late()
1459 pm_dev_err(dev, pm_transition, " async", error); in async_suspend_late()
1604 * @async: If true, the device is being suspended asynchronously.
1606 static int __device_suspend(struct device *dev, pm_message_t state, bool async) in __device_suspend() argument
1616 dpm_wait_for_subordinate(dev, async); in __device_suspend()
1736 pm_dev_err(dev, pm_transition, " async", error); in async_suspend()