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()
245 if (async || (pm_async_enabled && dev->power.async_suspend)) in dpm_wait()
246 wait_for_completion(&dev->power.completion); in dpm_wait()
582 return !dev->power.must_resume; in dev_pm_skip_resume()
604 if (dev->power.syscore || dev->power.direct_complete) in device_resume_noirq()
607 if (!dev->power.is_noirq_suspended) in device_resume_noirq()
657 dev->power.is_noirq_suspended = false; in device_resume_noirq()
660 complete_all(&dev->power.completion); in device_resume_noirq()
667 return dev->power.async_suspend && pm_async_enabled in is_async()
673 reinit_completion(&dev->power.completion); in dpm_async_fn()
710 list_for_each_entry(dev, &dpm_noirq_list, power.entry) in dpm_noirq_resume_devices()
716 list_move_tail(&dev->power.entry, &dpm_late_early_list); in dpm_noirq_resume_devices()
774 if (dev->power.syscore || dev->power.direct_complete) in device_resume_early()
777 if (!dev->power.is_late_suspended) in device_resume_early()
811 dev->power.is_late_suspended = false; in device_resume_early()
817 complete_all(&dev->power.completion); in device_resume_early()
851 list_for_each_entry(dev, &dpm_late_early_list, power.entry) in dpm_resume_early()
857 list_move_tail(&dev->power.entry, &dpm_suspended_list); in dpm_resume_early()
907 if (dev->power.syscore) in device_resume()
910 if (dev->power.direct_complete) { in device_resume()
926 dev->power.is_prepared = false; in device_resume()
928 if (!dev->power.is_suspended) in device_resume()
968 dev->power.is_suspended = false; in device_resume()
975 complete_all(&dev->power.completion); in device_resume()
1012 list_for_each_entry(dev, &dpm_suspended_list, power.entry) in dpm_resume()
1033 if (!list_empty(&dev->power.entry)) in dpm_resume()
1034 list_move_tail(&dev->power.entry, &dpm_prepared_list); in dpm_resume()
1056 if (dev->power.syscore) in device_complete()
1111 dev->power.is_prepared = false; in dpm_complete()
1112 list_move(&dev->power.entry, &list); in dpm_complete()
1174 dev->parent->power.must_resume = true; in dpm_superior_set_must_resume()
1179 link->supplier->power.must_resume = true; in dpm_superior_set_must_resume()
1207 if (dev->power.syscore || dev->power.direct_complete) in __device_suspend_noirq()
1244 dev->power.is_noirq_suspended = true; in __device_suspend_noirq()
1252 if (atomic_read(&dev->power.usage_count) > 1 || in __device_suspend_noirq()
1254 dev->power.may_skip_resume)) in __device_suspend_noirq()
1255 dev->power.must_resume = true; in __device_suspend_noirq()
1257 if (dev->power.must_resume) in __device_suspend_noirq()
1261 complete_all(&dev->power.completion); in __device_suspend_noirq()
1313 if (!list_empty(&dev->power.entry)) in dpm_noirq_suspend_devices()
1314 list_move(&dev->power.entry, &dpm_noirq_list); in dpm_noirq_suspend_devices()
1364 spin_lock_irq(&parent->power.lock); in dpm_propagate_wakeup_to_parent()
1366 if (dev->power.wakeup_path && !parent->power.ignore_children) in dpm_propagate_wakeup_to_parent()
1367 parent->power.wakeup_path = true; in dpm_propagate_wakeup_to_parent()
1369 spin_unlock_irq(&parent->power.lock); in dpm_propagate_wakeup_to_parent()
1401 if (dev->power.syscore || dev->power.direct_complete) in __device_suspend_late()
1439 dev->power.is_late_suspended = true; in __device_suspend_late()
1443 complete_all(&dev->power.completion); in __device_suspend_late()
1491 if (!list_empty(&dev->power.entry)) in dpm_suspend_late()
1492 list_move(&dev->power.entry, &dpm_late_early_list); in dpm_suspend_late()
1574 spin_lock_irq(&dev->parent->power.lock); in dpm_clear_superiors_direct_complete()
1575 dev->parent->power.direct_complete = false; in dpm_clear_superiors_direct_complete()
1576 spin_unlock_irq(&dev->parent->power.lock); in dpm_clear_superiors_direct_complete()
1582 spin_lock_irq(&link->supplier->power.lock); in dpm_clear_superiors_direct_complete()
1583 link->supplier->power.direct_complete = false; in dpm_clear_superiors_direct_complete()
1584 spin_unlock_irq(&link->supplier->power.lock); in dpm_clear_superiors_direct_complete()
1609 dev->power.direct_complete = false; in __device_suspend()
1627 dev->power.direct_complete = false; in __device_suspend()
1632 if (dev->power.syscore) in __device_suspend()
1636 if (device_may_wakeup(dev) || dev->power.wakeup_path) in __device_suspend()
1637 dev->power.direct_complete = false; in __device_suspend()
1639 if (dev->power.direct_complete) { in __device_suspend()
1649 dev->power.direct_complete = false; in __device_suspend()
1652 dev->power.may_skip_resume = true; in __device_suspend()
1653 dev->power.must_resume = !dev_pm_test_driver_flags(dev, DPM_FLAG_MAY_SKIP_RESUME); in __device_suspend()
1698 dev->power.is_suspended = true; in __device_suspend()
1700 dev->power.wakeup_path = true; in __device_suspend()
1716 complete_all(&dev->power.completion); in __device_suspend()
1776 if (!list_empty(&dev->power.entry)) in dpm_suspend()
1777 list_move(&dev->power.entry, &dpm_suspended_list); in dpm_suspend()
1816 if (dev->power.syscore) in device_prepare()
1821 dev->power.wakeup_path = false; in device_prepare()
1823 if (dev->power.no_pm_callbacks) in device_prepare()
1856 spin_lock_irq(&dev->power.lock); in device_prepare()
1857 dev->power.direct_complete = state.event == PM_EVENT_SUSPEND && in device_prepare()
1858 (ret > 0 || dev->power.no_pm_callbacks) && in device_prepare()
1860 spin_unlock_irq(&dev->power.lock); in device_prepare()
1917 dev->power.is_prepared = true; in dpm_prepare()
1918 if (!list_empty(&dev->power.entry)) in dpm_prepare()
1919 list_move_tail(&dev->power.entry, &dpm_prepared_list); in dpm_prepare()
1964 dpm_wait(dev, subordinate->power.async_suspend); in device_pm_wait_for_dev()
1985 list_for_each_entry(dev, &dpm_list, power.entry) in dpm_for_each_dev()
2010 spin_lock_irqsave(&dev->power.lock, flags); in device_pm_check_callbacks()
2011 dev->power.no_pm_callbacks = in device_pm_check_callbacks()
2019 spin_unlock_irqrestore(&dev->power.lock, flags); in device_pm_check_callbacks()