Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 20 files:

Smatch caller information:

drivers/ufs/core/ufshcd.c ufshcd_sdev_destroy() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
BUF_SIZE 0 consumer 1616
BUF_SIZE 1 supplier 1616
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &shost->scan_mutex
TYPE_LOCK (struct Scsi_Host)->scan_mutex

drivers/iommu/mtk_iommu_v1.c mtk_iommu_v1_release_device() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
DATA_SOURCE 0 consumer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &group->mutex
HALF_LOCKED2 global &iommu_probe_device_lock
TYPE_LOCK (struct iommu_group)->mutex

drivers/regulator/core.c destroy_regulator() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 1-u64max
PARAM_VALUE 1 supplier 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 consumer unit_byte
HALF_LOCKED2 global &pse_list_mutex
HALF_LOCKED2 global &regulator_list_mutex

sound/soc/codecs/pm4125.c pm4125_bind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
PARAM_VALUE 1 supplier->parent 0
PARAM_VALUE 1 supplier->power.wakeirq->status 0-4294967295
DATA_SOURCE 0 consumer $0
DATA_SOURCE 1 supplier r of_sdw_find_device_by_node
PARAM_COMPARE 0 consumer != $1
PARAM_COMPARE 1 supplier != $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/pm4125.c pm4125_bind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
PARAM_VALUE 1 supplier->power.wakeirq->status 0-4294967295
DATA_SOURCE 0 consumer $0
DATA_SOURCE 1 supplier r of_sdw_find_device_by_node
PARAM_COMPARE 0 consumer != $1
PARAM_COMPARE 1 supplier != $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/pm4125.c pm4125_bind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
PARAM_VALUE 1 supplier->power.wakeirq->status 0-4294967295
DATA_SOURCE 0 consumer r of_sdw_find_device_by_node
DATA_SOURCE 1 supplier r of_sdw_find_device_by_node
PARAM_COMPARE 0 consumer != $1
PARAM_COMPARE 1 supplier != $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/pm4125.c pm4125_unbind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
DATA_SOURCE 0 consumer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/pm4125.c pm4125_unbind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
DATA_SOURCE 0 consumer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/pm4125.c pm4125_unbind() -> device_link_remove()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

drivers/gpu/drm/i915/display/intel_audio.c intel_audio_component_unbind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 1 supplier 4096-ptr_max
PARAM_VALUE 1 supplier->power.wakeirq->status 0-4294967295
DATA_SOURCE 0 consumer $1
DATA_SOURCE 1 supplier $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &display->drm->mode_config.mutex

drivers/net/wan/framer/framer-core.c framer_put() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
BUF_SIZE 0 consumer (-1)-0,24-s32max
DATA_SOURCE 0 consumer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &pool->lock

sound/hda/codecs/side-codecs/cs35l41_hda.c cs35l41_hda_unbind() -> device_link_remove()

Type Parameter Key Value
BUF_SIZE 0 consumer 1616
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &system_transition_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &component_mutex

sound/soc/codecs/wcd937x.c wcd937x_bind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
PARAM_VALUE 1 supplier->parent 0
DATA_SOURCE 0 consumer $0
DATA_SOURCE 1 supplier r of_sdw_find_device_by_node
PARAM_COMPARE 0 consumer != $1
PARAM_COMPARE 1 supplier != $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd937x.c wcd937x_bind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
DATA_SOURCE 0 consumer $0
DATA_SOURCE 1 supplier r of_sdw_find_device_by_node
PARAM_COMPARE 0 consumer != $1
PARAM_COMPARE 1 supplier != $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd937x.c wcd937x_bind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
PARAM_VALUE 1 supplier->power.wakeirq->status 0-4294967295
DATA_SOURCE 0 consumer r of_sdw_find_device_by_node
DATA_SOURCE 1 supplier r of_sdw_find_device_by_node
PARAM_COMPARE 0 consumer != $1
PARAM_COMPARE 1 supplier != $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd937x.c wcd937x_unbind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
DATA_SOURCE 0 consumer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd937x.c wcd937x_unbind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
DATA_SOURCE 0 consumer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd937x.c wcd937x_unbind() -> device_link_remove()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

drivers/gpu/drm/radeon/radeon_audio.c radeon_audio_component_unbind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 1 supplier 4096-ptr_max
PARAM_VALUE 1 supplier->power.wakeirq->status 0-4294967295
DATA_SOURCE 0 consumer $1
DATA_SOURCE 1 supplier $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/phy/phy-core.c phy_put() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
BUF_SIZE 0 consumer (-1)-0,4,16,24-s32max
DATA_SOURCE 0 consumer $0
STR_LEN 0 consumer (-1),3,9,12,15-17,21-22,24,26-30,33-37,39-40,42-43,50-51
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/iommu/mtk_iommu.c mtk_iommu_probe() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 0,4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
PARAM_VALUE 1 supplier->devres_head.prev->next 4096-ptr_max
PARAM_VALUE 1 supplier->devres_head.prev->next->next 4096-ptr_max
PARAM_VALUE 1 supplier->power.wakeirq->status 0-4294967295
BUF_SIZE 1 supplier 1616
CAPPED_DATA 1 supplier 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/iommu/mtk_iommu.c mtk_iommu_probe_device() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier->power.wakeirq->status 0-4294967295
DATA_SOURCE 0 consumer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &iommu_probe_device_lock

drivers/iommu/mtk_iommu.c mtk_iommu_release_device() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
DATA_SOURCE 0 consumer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &group->mutex
HALF_LOCKED2 global &iommu_probe_device_lock
TYPE_LOCK (struct iommu_group)->mutex

drivers/iommu/mtk_iommu.c mtk_iommu_remove() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 1 supplier 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_dev->mutex

drivers/ata/libata-scsi.c ata_scsi_sdev_destroy() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
BUF_SIZE 0 consumer 1616
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &shost->scan_mutex
TYPE_LOCK (struct Scsi_Host)->scan_mutex

drivers/scsi/hisi_sas/hisi_sas_v3_hw.c hisi_sas_sdev_destroy() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
BUF_SIZE 0 consumer 1616
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &shost->scan_mutex
TYPE_LOCK (struct Scsi_Host)->scan_mutex

drivers/iommu/vsi-iommu.c vsi_iommu_release_device() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
DATA_SOURCE 0 consumer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &group->mutex
HALF_LOCKED2 global &iommu_probe_device_lock
TYPE_LOCK (struct iommu_group)->mutex

drivers/input/mouse/psmouse-smbus.c psmouse_smbus_detach_i2c_client() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
BUF_SIZE 0 consumer 1616
NOCHECK_CALL
LOCK2 _T->lock

drivers/input/mouse/psmouse-smbus.c psmouse_smbus_disconnect() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
BUF_SIZE 0 consumer 1616
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &psmouse_mutex

drivers/memory/mtk-smi.c mtk_smi_common_remove() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
BUF_SIZE 0 consumer 1616
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_dev->mutex

drivers/memory/mtk-smi.c mtk_smi_larb_probe() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
PARAM_VALUE 1 supplier->parent 0
BUF_SIZE 0 consumer 1616
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/memory/mtk-smi.c mtk_smi_larb_remove() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
BUF_SIZE 0 consumer 1616
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_dev->mutex

sound/soc/codecs/wcd939x.c wcd939x_bind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
PARAM_VALUE 1 supplier->parent 0
DATA_SOURCE 0 consumer $0
DATA_SOURCE 1 supplier r of_sdw_find_device_by_node
PARAM_COMPARE 0 consumer != $1
PARAM_COMPARE 1 supplier != $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd939x.c wcd939x_bind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
DATA_SOURCE 0 consumer $0
DATA_SOURCE 1 supplier r of_sdw_find_device_by_node
PARAM_COMPARE 0 consumer != $1
PARAM_COMPARE 1 supplier != $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd939x.c wcd939x_bind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
PARAM_VALUE 1 supplier->power.wakeirq->status 0-4294967295
DATA_SOURCE 0 consumer r of_sdw_find_device_by_node
DATA_SOURCE 1 supplier r of_sdw_find_device_by_node
PARAM_COMPARE 0 consumer != $1
PARAM_COMPARE 1 supplier != $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd939x.c wcd939x_unbind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
DATA_SOURCE 0 consumer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd939x.c wcd939x_unbind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
DATA_SOURCE 0 consumer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd939x.c wcd939x_unbind() -> device_link_remove()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd938x.c wcd938x_bind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
PARAM_VALUE 1 supplier->parent 0
DATA_SOURCE 0 consumer $0
DATA_SOURCE 1 supplier r of_sdw_find_device_by_node
PARAM_COMPARE 0 consumer != $1
PARAM_COMPARE 1 supplier != $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd938x.c wcd938x_bind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
DATA_SOURCE 0 consumer $0
DATA_SOURCE 1 supplier r of_sdw_find_device_by_node
PARAM_COMPARE 0 consumer != $1
PARAM_COMPARE 1 supplier != $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd938x.c wcd938x_bind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
PARAM_VALUE 1 supplier 4096-ptr_max
PARAM_VALUE 1 supplier->power.wakeirq->status 0-4294967295
DATA_SOURCE 0 consumer r of_sdw_find_device_by_node
DATA_SOURCE 1 supplier r of_sdw_find_device_by_node
PARAM_COMPARE 0 consumer != $1
PARAM_COMPARE 1 supplier != $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd938x.c wcd938x_unbind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
DATA_SOURCE 0 consumer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd938x.c wcd938x_unbind() -> device_link_remove()

Type Parameter Key Value
PARAM_VALUE 0 consumer 4096-ptr_max
DATA_SOURCE 0 consumer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex

sound/soc/codecs/wcd938x.c wcd938x_unbind() -> device_link_remove()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &component_mutex