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 |