Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/base/power/main.c dpm_async_resume_subordinate() -> dpm_async_with_cleanup()

Type Parameter Key Value
DATA_SOURCE 1 fn $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
LOCK2 global &device_links_srcu
HALF_LOCKED2 global &system_transition_mutex

drivers/base/power/main.c dpm_async_suspend_parent() -> dpm_async_with_cleanup()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
DATA_SOURCE 1 fn $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
LOCK2 _T->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &system_transition_mutex

drivers/base/power/main.c dpm_async_suspend_superior() -> dpm_async_with_cleanup()

Type Parameter Key Value
DATA_SOURCE 1 fn $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dev unit_byte
LOCK2 global &device_links_srcu
HALF_LOCKED2 global &system_transition_mutex

drivers/base/power/main.c dpm_noirq_resume_devices() -> dpm_async_with_cleanup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->parent 0
PARAM_VALUE 0 dev->power.completion.done 0
PARAM_VALUE 0 dev->power.work_in_progress 0
CAPPED_DATA 0 &dev->power.entry 1
PARAM_COMPARE 0 &dev->links.suppliers == $0->links.suppliers.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &dpm_list_mtx
LOCK2 global &system_transition_mutex
HALF_LOCKED2 global &acpi_scan_lock
HALF_LOCKED2 global &device_hotplug_lock

drivers/base/power/main.c dpm_noirq_suspend_devices() -> dpm_async_with_cleanup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->power.completion.done 0
PARAM_VALUE 0 dev->power.work_in_progress 0
CAPPED_DATA 0 &dev->power.entry 1
PARAM_COMPARE 0 &dev->links.consumers == $0->links.consumers.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &dpm_list_mtx
LOCK2 global &system_transition_mutex
HALF_LOCKED2 global &acpi_scan_lock
HALF_LOCKED2 global &device_hotplug_lock

drivers/base/power/main.c dpm_resume() -> dpm_async_with_cleanup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->parent 0
PARAM_VALUE 0 dev->power.completion.done 0
PARAM_VALUE 0 dev->power.work_in_progress 0
CAPPED_DATA 0 &dev->power.entry 1
PARAM_COMPARE 0 &dev->links.suppliers == $0->links.suppliers.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &dpm_list_mtx
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &device_hotplug_lock

drivers/base/power/main.c dpm_resume_early() -> dpm_async_with_cleanup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->parent 0
PARAM_VALUE 0 dev->power.completion.done 0
PARAM_VALUE 0 dev->power.work_in_progress 0
CAPPED_DATA 0 &dev->power.entry 1
PARAM_COMPARE 0 &dev->links.suppliers == $0->links.suppliers.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &dpm_list_mtx
LOCK2 global &system_transition_mutex
HALF_LOCKED2 global &acpi_scan_lock
HALF_LOCKED2 global &device_hotplug_lock

drivers/base/power/main.c dpm_suspend() -> dpm_async_with_cleanup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->power.completion.done 0
PARAM_VALUE 0 dev->power.work_in_progress 0
CAPPED_DATA 0 &dev->power.entry 1
PARAM_COMPARE 0 &dev->links.consumers == $0->links.consumers.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &dpm_list_mtx
LOCK2 global &system_transition_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &device_hotplug_lock

drivers/base/power/main.c dpm_suspend_late() -> dpm_async_with_cleanup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->power.completion.done 0
PARAM_VALUE 0 dev->power.work_in_progress 0
CAPPED_DATA 0 &dev->power.entry 1
PARAM_COMPARE 0 &dev->links.consumers == $0->links.consumers.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &dpm_list_mtx
LOCK2 global &system_transition_mutex
HALF_LOCKED2 global &acpi_scan_lock
HALF_LOCKED2 global &device_hotplug_lock

drivers/base/core.c device_for_each_child() -> device_for_each_child param 2()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
DATA_SOURCE 0 dev r next_device
DATA_SOURCE 1 fn $1