Lines Matching refs:power
94 dev->power.is_prepared = false; in device_pm_sleep_init()
95 dev->power.is_suspended = false; in device_pm_sleep_init()
96 dev->power.is_noirq_suspended = false; in device_pm_sleep_init()
97 dev->power.is_late_suspended = false; in device_pm_sleep_init()
98 init_completion(&dev->power.completion); in device_pm_sleep_init()
99 complete_all(&dev->power.completion); in device_pm_sleep_init()
100 dev->power.wakeup = NULL; in device_pm_sleep_init()
101 INIT_LIST_HEAD(&dev->power.entry); in device_pm_sleep_init()
129 if (dev->parent && dev->parent->power.is_prepared) in device_pm_add()
132 list_add_tail(&dev->power.entry, &dpm_list); in device_pm_add()
144 complete_all(&dev->power.completion); in device_pm_remove()
146 list_del_init(&dev->power.entry); in device_pm_remove()
163 list_move_tail(&deva->power.entry, &devb->power.entry); in device_pm_move_before()
177 list_move(&deva->power.entry, &devb->power.entry); in device_pm_move_after()
188 list_move_tail(&dev->power.entry, &dpm_list); in device_pm_move_last()
230 if (async || (pm_async_enabled && dev->power.async_suspend)) in dpm_wait()
231 wait_for_completion(&dev->power.completion); in dpm_wait()
483 if (dev->power.syscore || dev->power.direct_complete) in device_resume_noirq()
486 if (!dev->power.is_noirq_suspended) in device_resume_noirq()
511 dev->power.is_noirq_suspended = false; in device_resume_noirq()
514 complete_all(&dev->power.completion); in device_resume_noirq()
521 return dev->power.async_suspend && pm_async_enabled in is_async()
558 list_for_each_entry(dev, &dpm_noirq_list, power.entry) { in dpm_resume_noirq()
559 reinit_completion(&dev->power.completion); in dpm_resume_noirq()
569 list_move_tail(&dev->power.entry, &dpm_late_early_list); in dpm_resume_noirq()
613 if (dev->power.syscore || dev->power.direct_complete) in device_resume_early()
616 if (!dev->power.is_late_suspended) in device_resume_early()
641 dev->power.is_late_suspended = false; in device_resume_early()
647 complete_all(&dev->power.completion); in device_resume_early()
681 list_for_each_entry(dev, &dpm_late_early_list, power.entry) { in dpm_resume_early()
682 reinit_completion(&dev->power.completion); in dpm_resume_early()
692 list_move_tail(&dev->power.entry, &dpm_suspended_list); in dpm_resume_early()
742 if (dev->power.syscore) in device_resume()
745 if (dev->power.direct_complete) { in device_resume()
759 dev->power.is_prepared = false; in device_resume()
761 if (!dev->power.is_suspended) in device_resume()
807 dev->power.is_suspended = false; in device_resume()
814 complete_all(&dev->power.completion); in device_resume()
851 list_for_each_entry(dev, &dpm_suspended_list, power.entry) { in dpm_resume()
852 reinit_completion(&dev->power.completion); in dpm_resume()
877 if (!list_empty(&dev->power.entry)) in dpm_resume()
878 list_move_tail(&dev->power.entry, &dpm_prepared_list); in dpm_resume()
899 if (dev->power.syscore) in device_complete()
953 dev->power.is_prepared = false; in dpm_complete()
954 list_move(&dev->power.entry, &list); in dpm_complete()
1033 if (dev->power.syscore || dev->power.direct_complete) in __device_suspend_noirq()
1059 dev->power.is_noirq_suspended = true; in __device_suspend_noirq()
1064 complete_all(&dev->power.completion); in __device_suspend_noirq()
1085 reinit_completion(&dev->power.completion); in device_suspend_noirq()
1130 if (!list_empty(&dev->power.entry)) in dpm_suspend_noirq()
1131 list_move(&dev->power.entry, &dpm_noirq_list); in dpm_suspend_noirq()
1180 if (dev->power.syscore || dev->power.direct_complete) in __device_suspend_late()
1206 dev->power.is_late_suspended = true; in __device_suspend_late()
1212 complete_all(&dev->power.completion); in __device_suspend_late()
1231 reinit_completion(&dev->power.completion); in device_suspend_late()
1265 if (!list_empty(&dev->power.entry)) in dpm_suspend_late()
1266 list_move(&dev->power.entry, &dpm_late_early_list); in dpm_suspend_late()
1375 if (dev->power.syscore) in __device_suspend()
1378 if (dev->power.direct_complete) { in __device_suspend()
1386 dev->power.direct_complete = false; in __device_suspend()
1441 dev->power.is_suspended = true; in __device_suspend()
1443 spin_lock_irq(&parent->power.lock); in __device_suspend()
1445 dev->parent->power.direct_complete = false; in __device_suspend()
1446 if (dev->power.wakeup_path in __device_suspend()
1447 && !dev->parent->power.ignore_children) in __device_suspend()
1448 dev->parent->power.wakeup_path = true; in __device_suspend()
1450 spin_unlock_irq(&parent->power.lock); in __device_suspend()
1458 complete_all(&dev->power.completion); in __device_suspend()
1482 reinit_completion(&dev->power.completion); in device_suspend()
1525 if (!list_empty(&dev->power.entry)) in dpm_suspend()
1526 list_move(&dev->power.entry, &dpm_suspended_list); in dpm_suspend()
1558 if (dev->power.syscore) in device_prepare()
1571 dev->power.wakeup_path = device_may_wakeup(dev); in device_prepare()
1609 spin_lock_irq(&dev->power.lock); in device_prepare()
1610 dev->power.direct_complete = ret > 0 && state.event == PM_EVENT_SUSPEND; in device_prepare()
1611 spin_unlock_irq(&dev->power.lock); in device_prepare()
1652 dev->power.is_prepared = true; in dpm_prepare()
1653 if (!list_empty(&dev->power.entry)) in dpm_prepare()
1654 list_move_tail(&dev->power.entry, &dpm_prepared_list); in dpm_prepare()
1697 dpm_wait(dev, subordinate->power.async_suspend); in device_pm_wait_for_dev()
1718 list_for_each_entry(dev, &dpm_list, power.entry) in dpm_for_each_dev()