Lines Matching refs:power
93 dev->power.is_prepared = false; in device_pm_sleep_init()
94 dev->power.is_suspended = false; in device_pm_sleep_init()
95 dev->power.is_noirq_suspended = false; in device_pm_sleep_init()
96 dev->power.is_late_suspended = false; in device_pm_sleep_init()
97 init_completion(&dev->power.completion); in device_pm_sleep_init()
98 complete_all(&dev->power.completion); in device_pm_sleep_init()
99 dev->power.wakeup = NULL; in device_pm_sleep_init()
100 INIT_LIST_HEAD(&dev->power.entry); in device_pm_sleep_init()
128 if (dev->parent && dev->parent->power.is_prepared) in device_pm_add()
131 list_add_tail(&dev->power.entry, &dpm_list); in device_pm_add()
143 complete_all(&dev->power.completion); in device_pm_remove()
145 list_del_init(&dev->power.entry); in device_pm_remove()
162 list_move_tail(&deva->power.entry, &devb->power.entry); in device_pm_move_before()
176 list_move(&deva->power.entry, &devb->power.entry); in device_pm_move_after()
187 list_move_tail(&dev->power.entry, &dpm_list); in device_pm_move_last()
229 if (async || (pm_async_enabled && dev->power.async_suspend)) in dpm_wait()
230 wait_for_completion(&dev->power.completion); in dpm_wait()
482 if (dev->power.syscore || dev->power.direct_complete) in device_resume_noirq()
485 if (!dev->power.is_noirq_suspended) in device_resume_noirq()
510 dev->power.is_noirq_suspended = false; in device_resume_noirq()
513 complete_all(&dev->power.completion); in device_resume_noirq()
520 return dev->power.async_suspend && pm_async_enabled in is_async()
557 list_for_each_entry(dev, &dpm_noirq_list, power.entry) { in dpm_resume_noirq()
558 reinit_completion(&dev->power.completion); in dpm_resume_noirq()
568 list_move_tail(&dev->power.entry, &dpm_late_early_list); in dpm_resume_noirq()
611 if (dev->power.syscore || dev->power.direct_complete) in device_resume_early()
614 if (!dev->power.is_late_suspended) in device_resume_early()
639 dev->power.is_late_suspended = false; in device_resume_early()
645 complete_all(&dev->power.completion); in device_resume_early()
679 list_for_each_entry(dev, &dpm_late_early_list, power.entry) { in dpm_resume_early()
680 reinit_completion(&dev->power.completion); in dpm_resume_early()
690 list_move_tail(&dev->power.entry, &dpm_suspended_list); in dpm_resume_early()
740 if (dev->power.syscore) in device_resume()
743 if (dev->power.direct_complete) { in device_resume()
757 dev->power.is_prepared = false; in device_resume()
759 if (!dev->power.is_suspended) in device_resume()
805 dev->power.is_suspended = false; in device_resume()
812 complete_all(&dev->power.completion); in device_resume()
849 list_for_each_entry(dev, &dpm_suspended_list, power.entry) { in dpm_resume()
850 reinit_completion(&dev->power.completion); in dpm_resume()
875 if (!list_empty(&dev->power.entry)) in dpm_resume()
876 list_move_tail(&dev->power.entry, &dpm_prepared_list); in dpm_resume()
897 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()
1031 if (dev->power.syscore || dev->power.direct_complete) in __device_suspend_noirq()
1057 dev->power.is_noirq_suspended = true; in __device_suspend_noirq()
1062 complete_all(&dev->power.completion); in __device_suspend_noirq()
1083 reinit_completion(&dev->power.completion); in device_suspend_noirq()
1127 if (!list_empty(&dev->power.entry)) in dpm_suspend_noirq()
1128 list_move(&dev->power.entry, &dpm_noirq_list); in dpm_suspend_noirq()
1177 if (dev->power.syscore || dev->power.direct_complete) in __device_suspend_late()
1203 dev->power.is_late_suspended = true; in __device_suspend_late()
1209 complete_all(&dev->power.completion); in __device_suspend_late()
1228 reinit_completion(&dev->power.completion); in device_suspend_late()
1262 if (!list_empty(&dev->power.entry)) in dpm_suspend_late()
1263 list_move(&dev->power.entry, &dpm_late_early_list); in dpm_suspend_late()
1372 if (dev->power.syscore) in __device_suspend()
1375 if (dev->power.direct_complete) { in __device_suspend()
1383 dev->power.direct_complete = false; in __device_suspend()
1438 dev->power.is_suspended = true; in __device_suspend()
1440 spin_lock_irq(&parent->power.lock); in __device_suspend()
1442 dev->parent->power.direct_complete = false; in __device_suspend()
1443 if (dev->power.wakeup_path in __device_suspend()
1444 && !dev->parent->power.ignore_children) in __device_suspend()
1445 dev->parent->power.wakeup_path = true; in __device_suspend()
1447 spin_unlock_irq(&parent->power.lock); in __device_suspend()
1455 complete_all(&dev->power.completion); in __device_suspend()
1479 reinit_completion(&dev->power.completion); in device_suspend()
1522 if (!list_empty(&dev->power.entry)) in dpm_suspend()
1523 list_move(&dev->power.entry, &dpm_suspended_list); in dpm_suspend()
1555 if (dev->power.syscore) in device_prepare()
1568 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()
1650 dev->power.is_prepared = true; in dpm_prepare()
1651 if (!list_empty(&dev->power.entry)) in dpm_prepare()
1652 list_move_tail(&dev->power.entry, &dpm_prepared_list); in dpm_prepare()
1695 dpm_wait(dev, subordinate->power.async_suspend); in device_pm_wait_for_dev()
1716 list_for_each_entry(dev, &dpm_list, power.entry) in dpm_for_each_dev()