Lines Matching refs:power

100 	dev->power.is_prepared = false;  in device_pm_sleep_init()
101 dev->power.is_suspended = false; in device_pm_sleep_init()
102 dev->power.is_noirq_suspended = false; in device_pm_sleep_init()
103 dev->power.is_late_suspended = false; in device_pm_sleep_init()
104 init_completion(&dev->power.completion); in device_pm_sleep_init()
105 complete_all(&dev->power.completion); in device_pm_sleep_init()
106 dev->power.wakeup = NULL; in device_pm_sleep_init()
107 INIT_LIST_HEAD(&dev->power.entry); in device_pm_sleep_init()
140 if (dev->parent && dev->parent->power.is_prepared) in device_pm_add()
143 list_add_tail(&dev->power.entry, &dpm_list); in device_pm_add()
144 dev->power.in_dpm_list = true; in device_pm_add()
159 complete_all(&dev->power.completion); in device_pm_remove()
161 list_del_init(&dev->power.entry); in device_pm_remove()
162 dev->power.in_dpm_list = false; in device_pm_remove()
180 list_move_tail(&deva->power.entry, &devb->power.entry); in device_pm_move_before()
194 list_move(&deva->power.entry, &devb->power.entry); in device_pm_move_after()
205 list_move_tail(&dev->power.entry, &dpm_list); in device_pm_move_last()
242 if (async || (pm_async_enabled && dev->power.async_suspend)) in dpm_wait()
243 wait_for_completion(&dev->power.completion); in dpm_wait()
444 ", may wakeup" : "", dev->power.driver_flags); in pm_dev_dbg()
579 return !dev->power.must_resume; in dev_pm_skip_resume()
601 if (dev->power.syscore || dev->power.direct_complete) in device_resume_noirq()
604 if (!dev->power.is_noirq_suspended) in device_resume_noirq()
654 dev->power.is_noirq_suspended = false; in device_resume_noirq()
657 complete_all(&dev->power.completion); in device_resume_noirq()
664 return dev->power.async_suspend && pm_async_enabled in is_async()
670 reinit_completion(&dev->power.completion); in dpm_async_fn()
707 list_for_each_entry(dev, &dpm_noirq_list, power.entry) in dpm_noirq_resume_devices()
713 list_move_tail(&dev->power.entry, &dpm_late_early_list); in dpm_noirq_resume_devices()
771 if (dev->power.syscore || dev->power.direct_complete) in device_resume_early()
774 if (!dev->power.is_late_suspended) in device_resume_early()
808 dev->power.is_late_suspended = false; in device_resume_early()
814 complete_all(&dev->power.completion); in device_resume_early()
848 list_for_each_entry(dev, &dpm_late_early_list, power.entry) in dpm_resume_early()
854 list_move_tail(&dev->power.entry, &dpm_suspended_list); in dpm_resume_early()
904 if (dev->power.syscore) in device_resume()
907 if (dev->power.direct_complete) { in device_resume()
923 dev->power.is_prepared = false; in device_resume()
925 if (!dev->power.is_suspended) in device_resume()
965 dev->power.is_suspended = false; in device_resume()
972 complete_all(&dev->power.completion); in device_resume()
1009 list_for_each_entry(dev, &dpm_suspended_list, power.entry) in dpm_resume()
1030 if (!list_empty(&dev->power.entry)) in dpm_resume()
1031 list_move_tail(&dev->power.entry, &dpm_prepared_list); in dpm_resume()
1053 if (dev->power.syscore) in device_complete()
1107 dev->power.is_prepared = false; in dpm_complete()
1108 list_move(&dev->power.entry, &list); in dpm_complete()
1170 dev->parent->power.must_resume = true; in dpm_superior_set_must_resume()
1175 link->supplier->power.must_resume = true; in dpm_superior_set_must_resume()
1203 if (dev->power.syscore || dev->power.direct_complete) in __device_suspend_noirq()
1238 dev->power.is_noirq_suspended = true; in __device_suspend_noirq()
1246 if (atomic_read(&dev->power.usage_count) > 1 || in __device_suspend_noirq()
1248 dev->power.may_skip_resume)) in __device_suspend_noirq()
1249 dev->power.must_resume = true; in __device_suspend_noirq()
1251 if (dev->power.must_resume) in __device_suspend_noirq()
1255 complete_all(&dev->power.completion); in __device_suspend_noirq()
1307 if (!list_empty(&dev->power.entry)) in dpm_noirq_suspend_devices()
1308 list_move(&dev->power.entry, &dpm_noirq_list); in dpm_noirq_suspend_devices()
1358 spin_lock_irq(&parent->power.lock); in dpm_propagate_wakeup_to_parent()
1360 if (device_wakeup_path(dev) && !parent->power.ignore_children) in dpm_propagate_wakeup_to_parent()
1361 parent->power.wakeup_path = true; in dpm_propagate_wakeup_to_parent()
1363 spin_unlock_irq(&parent->power.lock); in dpm_propagate_wakeup_to_parent()
1395 if (dev->power.syscore || dev->power.direct_complete) in __device_suspend_late()
1431 dev->power.is_late_suspended = true; in __device_suspend_late()
1435 complete_all(&dev->power.completion); in __device_suspend_late()
1483 if (!list_empty(&dev->power.entry)) in dpm_suspend_late()
1484 list_move(&dev->power.entry, &dpm_late_early_list); in dpm_suspend_late()
1566 spin_lock_irq(&dev->parent->power.lock); in dpm_clear_superiors_direct_complete()
1567 dev->parent->power.direct_complete = false; in dpm_clear_superiors_direct_complete()
1568 spin_unlock_irq(&dev->parent->power.lock); in dpm_clear_superiors_direct_complete()
1574 spin_lock_irq(&link->supplier->power.lock); in dpm_clear_superiors_direct_complete()
1575 link->supplier->power.direct_complete = false; in dpm_clear_superiors_direct_complete()
1576 spin_unlock_irq(&link->supplier->power.lock); in dpm_clear_superiors_direct_complete()
1601 dev->power.direct_complete = false; in __device_suspend()
1619 dev->power.direct_complete = false; in __device_suspend()
1624 if (dev->power.syscore) in __device_suspend()
1629 dev->power.direct_complete = false; in __device_suspend()
1631 if (dev->power.direct_complete) { in __device_suspend()
1641 dev->power.direct_complete = false; in __device_suspend()
1644 dev->power.may_skip_resume = true; in __device_suspend()
1645 dev->power.must_resume = !dev_pm_test_driver_flags(dev, DPM_FLAG_MAY_SKIP_RESUME); in __device_suspend()
1690 dev->power.is_suspended = true; in __device_suspend()
1692 dev->power.wakeup_path = true; in __device_suspend()
1705 complete_all(&dev->power.completion); in __device_suspend()
1765 if (!list_empty(&dev->power.entry)) in dpm_suspend()
1766 list_move(&dev->power.entry, &dpm_suspended_list); in dpm_suspend()
1797 if (dev->power.syscore) in device_prepare()
1810 dev->power.wakeup_path = false; in device_prepare()
1812 if (dev->power.no_pm_callbacks) in device_prepare()
1845 spin_lock_irq(&dev->power.lock); in device_prepare()
1846 dev->power.direct_complete = state.event == PM_EVENT_SUSPEND && in device_prepare()
1847 (ret > 0 || dev->power.no_pm_callbacks) && in device_prepare()
1849 spin_unlock_irq(&dev->power.lock); in device_prepare()
1903 dev->power.is_prepared = true; in dpm_prepare()
1904 if (!list_empty(&dev->power.entry)) in dpm_prepare()
1905 list_move_tail(&dev->power.entry, &dpm_prepared_list); in dpm_prepare()
1950 dpm_wait(dev, subordinate->power.async_suspend); in device_pm_wait_for_dev()
1971 list_for_each_entry(dev, &dpm_list, power.entry) in dpm_for_each_dev()
1994 spin_lock_irq(&dev->power.lock); in device_pm_check_callbacks()
1995 dev->power.no_pm_callbacks = in device_pm_check_callbacks()
2003 spin_unlock_irq(&dev->power.lock); in device_pm_check_callbacks()