Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/base/core.c device_link_add() -> device_links_write_unlock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_links_lock
HALF_LOCKED2 &c->lock
HALF_LOCKED2 &card->mutex
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &info->reg_lock
HALF_LOCKED2 &sdev->request_queue->limits_lock
HALF_LOCKED2 &shost->scan_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &component_mutex
HALF_LOCKED2 global &iommu_probe_device_lock
HALF_LOCKED2 global &san_rqsg_if.lock
HALF_LOCKED2 global &system_transition_mutex

drivers/base/core.c device_link_del() -> device_links_write_unlock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_links_lock
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 _T->lock

drivers/base/core.c device_link_remove() -> device_links_write_unlock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_links_lock
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 &shost->scan_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &component_mutex
HALF_LOCKED2 global &iommu_probe_device_lock
HALF_LOCKED2 global &system_transition_mutex

drivers/base/core.c device_links_busy() -> device_links_write_unlock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->mutex
LOCK2 global &device_links_lock
TYPE_LOCK (struct device)->mutex

drivers/base/core.c device_links_check_suppliers() -> device_links_write_unlock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
LOCK2 global &device_links_lock
HALF_LOCKED2 &dev->mutex

drivers/base/core.c device_links_driver_bound() -> device_links_write_unlock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_links_lock
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &dev->parent->mutex

drivers/base/core.c device_links_driver_cleanup() -> device_links_write_unlock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->mutex
LOCK2 global &device_links_lock
TYPE_LOCK (struct device)->mutex

drivers/base/core.c device_links_force_bind() -> device_links_write_unlock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_links_lock
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &dev->parent->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &gameport_mutex

drivers/base/core.c device_links_no_driver() -> device_links_write_unlock()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 global &device_links_lock

drivers/base/core.c device_links_purge() -> device_links_write_unlock()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 global &device_links_lock

drivers/base/core.c device_links_supplier_sync_state_pause() -> device_links_write_unlock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_links_lock

drivers/base/core.c device_links_supplier_sync_state_resume() -> device_links_write_unlock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_links_lock

drivers/base/core.c device_links_unbind_consumers() -> device_links_write_unlock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_links_lock

drivers/base/core.c device_links_unbind_consumers() -> device_links_write_unlock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_links_lock

drivers/base/core.c device_links_unbind_consumers() -> device_links_write_unlock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_links_lock

drivers/base/core.c fw_devlink_create_devlink() -> device_links_write_unlock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_links_lock
HALF_LOCKED2 _T->lock

drivers/base/core.c fw_devlink_drivers_done() -> device_links_write_unlock()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 global &device_links_lock
HALF_LOCKED2 &pool->lock

drivers/base/core.c fw_devlink_probing_done() -> device_links_write_unlock()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 global &device_links_lock
HALF_LOCKED2 &pool->lock

drivers/base/core.c fw_devlink_unblock_consumers() -> device_links_write_unlock()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 global &device_links_lock