Lines Matching refs:power
99 dev->power.is_prepared = false; in device_pm_sleep_init()
100 dev->power.is_suspended = false; in device_pm_sleep_init()
101 dev->power.is_noirq_suspended = false; in device_pm_sleep_init()
102 dev->power.is_late_suspended = false; in device_pm_sleep_init()
103 init_completion(&dev->power.completion); in device_pm_sleep_init()
104 complete_all(&dev->power.completion); in device_pm_sleep_init()
105 dev->power.wakeup = NULL; in device_pm_sleep_init()
106 INIT_LIST_HEAD(&dev->power.entry); in device_pm_sleep_init()
139 if (dev->parent && dev->parent->power.is_prepared) in device_pm_add()
142 list_add_tail(&dev->power.entry, &dpm_list); in device_pm_add()
143 dev->power.in_dpm_list = true; in device_pm_add()
158 complete_all(&dev->power.completion); in device_pm_remove()
160 list_del_init(&dev->power.entry); in device_pm_remove()
161 dev->power.in_dpm_list = false; in device_pm_remove()
179 list_move_tail(&deva->power.entry, &devb->power.entry); in device_pm_move_before()
193 list_move(&deva->power.entry, &devb->power.entry); in device_pm_move_after()
204 list_move_tail(&dev->power.entry, &dpm_list); in device_pm_move_last()
241 if (async || (pm_async_enabled && dev->power.async_suspend)) in dpm_wait()
242 wait_for_completion(&dev->power.completion); in dpm_wait()
443 ", may wakeup" : "", dev->power.driver_flags); in pm_dev_dbg()
578 return !dev->power.must_resume; in dev_pm_skip_resume()
600 if (dev->power.syscore || dev->power.direct_complete) in device_resume_noirq()
603 if (!dev->power.is_noirq_suspended) in device_resume_noirq()
653 dev->power.is_noirq_suspended = false; in device_resume_noirq()
656 complete_all(&dev->power.completion); in device_resume_noirq()
663 return dev->power.async_suspend && pm_async_enabled in is_async()
669 reinit_completion(&dev->power.completion); in dpm_async_fn()
706 list_for_each_entry(dev, &dpm_noirq_list, power.entry) in dpm_noirq_resume_devices()
712 list_move_tail(&dev->power.entry, &dpm_late_early_list); in dpm_noirq_resume_devices()
770 if (dev->power.syscore || dev->power.direct_complete) in device_resume_early()
773 if (!dev->power.is_late_suspended) in device_resume_early()
807 dev->power.is_late_suspended = false; in device_resume_early()
813 complete_all(&dev->power.completion); in device_resume_early()
847 list_for_each_entry(dev, &dpm_late_early_list, power.entry) in dpm_resume_early()
853 list_move_tail(&dev->power.entry, &dpm_suspended_list); in dpm_resume_early()
906 if (dev->power.syscore) in device_resume()
909 if (dev->power.direct_complete) { in device_resume()
925 dev->power.is_prepared = false; in device_resume()
927 if (!dev->power.is_suspended) in device_resume()
967 dev->power.is_suspended = false; in device_resume()
974 complete_all(&dev->power.completion); in device_resume()
1011 list_for_each_entry(dev, &dpm_suspended_list, power.entry) in dpm_resume()
1032 if (!list_empty(&dev->power.entry)) in dpm_resume()
1033 list_move_tail(&dev->power.entry, &dpm_prepared_list); in dpm_resume()
1060 if (dev->power.syscore) in device_complete()
1115 dev->power.is_prepared = false; in dpm_complete()
1116 list_move(&dev->power.entry, &list); in dpm_complete()
1180 dev->parent->power.must_resume = true; in dpm_superior_set_must_resume()
1185 link->supplier->power.must_resume = true; in dpm_superior_set_must_resume()
1213 if (dev->power.syscore || dev->power.direct_complete) in __device_suspend_noirq()
1248 dev->power.is_noirq_suspended = true; in __device_suspend_noirq()
1256 if (atomic_read(&dev->power.usage_count) > 1 || in __device_suspend_noirq()
1258 dev->power.may_skip_resume)) in __device_suspend_noirq()
1259 dev->power.must_resume = true; in __device_suspend_noirq()
1261 if (dev->power.must_resume) in __device_suspend_noirq()
1265 complete_all(&dev->power.completion); in __device_suspend_noirq()
1315 } else if (!list_empty(&dev->power.entry)) { in dpm_noirq_suspend_devices()
1316 list_move(&dev->power.entry, &dpm_noirq_list); in dpm_noirq_suspend_devices()
1370 spin_lock_irq(&parent->power.lock); in dpm_propagate_wakeup_to_parent()
1372 if (device_wakeup_path(dev) && !parent->power.ignore_children) in dpm_propagate_wakeup_to_parent()
1373 parent->power.wakeup_path = true; in dpm_propagate_wakeup_to_parent()
1375 spin_unlock_irq(&parent->power.lock); in dpm_propagate_wakeup_to_parent()
1407 if (dev->power.syscore || dev->power.direct_complete) in __device_suspend_late()
1443 dev->power.is_late_suspended = true; in __device_suspend_late()
1447 complete_all(&dev->power.completion); in __device_suspend_late()
1498 if (!list_empty(&dev->power.entry)) in dpm_suspend_late()
1499 list_move(&dev->power.entry, &dpm_late_early_list); in dpm_suspend_late()
1584 spin_lock_irq(&dev->parent->power.lock); in dpm_clear_superiors_direct_complete()
1585 dev->parent->power.direct_complete = false; in dpm_clear_superiors_direct_complete()
1586 spin_unlock_irq(&dev->parent->power.lock); in dpm_clear_superiors_direct_complete()
1592 spin_lock_irq(&link->supplier->power.lock); in dpm_clear_superiors_direct_complete()
1593 link->supplier->power.direct_complete = false; in dpm_clear_superiors_direct_complete()
1594 spin_unlock_irq(&link->supplier->power.lock); in dpm_clear_superiors_direct_complete()
1619 dev->power.direct_complete = false; in __device_suspend()
1637 dev->power.direct_complete = false; in __device_suspend()
1642 if (dev->power.syscore) in __device_suspend()
1647 dev->power.direct_complete = false; in __device_suspend()
1649 if (dev->power.direct_complete) { in __device_suspend()
1659 dev->power.direct_complete = false; in __device_suspend()
1662 dev->power.may_skip_resume = true; in __device_suspend()
1663 dev->power.must_resume = !dev_pm_test_driver_flags(dev, DPM_FLAG_MAY_SKIP_RESUME); in __device_suspend()
1708 dev->power.is_suspended = true; in __device_suspend()
1710 dev->power.wakeup_path = true; in __device_suspend()
1723 complete_all(&dev->power.completion); in __device_suspend()
1782 } else if (!list_empty(&dev->power.entry)) { in dpm_suspend()
1783 list_move(&dev->power.entry, &dpm_suspended_list); in dpm_suspend()
1829 if (dev->power.syscore) in device_prepare()
1834 dev->power.wakeup_path = false; in device_prepare()
1836 if (dev->power.no_pm_callbacks) in device_prepare()
1869 spin_lock_irq(&dev->power.lock); in device_prepare()
1870 dev->power.direct_complete = state.event == PM_EVENT_SUSPEND && in device_prepare()
1871 (ret > 0 || dev->power.no_pm_callbacks) && in device_prepare()
1873 spin_unlock_irq(&dev->power.lock); in device_prepare()
1919 dev->power.is_prepared = true; in dpm_prepare()
1920 if (!list_empty(&dev->power.entry)) in dpm_prepare()
1921 list_move_tail(&dev->power.entry, &dpm_prepared_list); in dpm_prepare()
1977 dpm_wait(dev, subordinate->power.async_suspend); in device_pm_wait_for_dev()
1998 list_for_each_entry(dev, &dpm_list, power.entry) in dpm_for_each_dev()
2021 spin_lock_irq(&dev->power.lock); in device_pm_check_callbacks()
2022 dev->power.no_pm_callbacks = in device_pm_check_callbacks()
2030 spin_unlock_irq(&dev->power.lock); in device_pm_check_callbacks()