Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 38 files:

Smatch caller information:

drivers/acpi/acpi_processor.c acpi_processor_post_eject() -> device_release_driver()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &acpi_scan_lock
HALF_LOCKED2 global &device_hotplug_lock

drivers/net/wireless/virtual/mac80211_hwsim_main.c mac80211_hwsim_del_radio() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev->power.wakeirq->status 0-4294967295
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &pernet_ops_rwsem

drivers/pnp/card.c pnp_release_card_device() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
NOCHECK_CALL

drivers/input/gameport/gameport.c gameport_disconnect_port() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &gameport_mutex
HALF_LOCKED2 &of->mutex

drivers/input/gameport/gameport.c gameport_disconnect_port() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &gameport_mutex
HALF_LOCKED2 &of->mutex

drivers/usb/gadget/udc/renesas_usb3.c handle_ext_role_switch_states() -> device_release_driver()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &sw->lock
HALF_LOCKED2 &con->lock
HALF_LOCKED2 &info->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct usb_role_switch)->lock

drivers/usb/gadget/udc/renesas_usb3.c handle_ext_role_switch_states() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev->kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->power.wakeirq->status 0-4294967295
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &sw->lock
HALF_LOCKED2 &con->lock
HALF_LOCKED2 &info->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct usb_role_switch)->lock

drivers/usb/gadget/udc/renesas_usb3.c handle_ext_role_switch_states() -> device_release_driver()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &sw->lock
HALF_LOCKED2 &con->lock
HALF_LOCKED2 &info->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct usb_role_switch)->lock

drivers/usb/gadget/udc/renesas_usb3.c handle_role_switch_states() -> device_release_driver()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &sw->lock
HALF_LOCKED2 &con->lock
HALF_LOCKED2 &info->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct usb_role_switch)->lock

drivers/input/serio/serio.c serio_disconnect_port() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 _T->lock

drivers/input/serio/serio.c serio_disconnect_port() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 _T->lock

drivers/usb/core/driver.c usb_driver_release_interface() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->driver 4096-ptr_max
PARAM_VALUE 0 dev->kobj.state_in_sysfs 1
BUF_SIZE 0 dev 1616
CAPPED_DATA 0 dev->driver 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->dev.mutex
HALF_LOCKED2 &udev->dev.mutex
HALF_LOCKED2 _T->lock

drivers/usb/misc/onboard_usb_dev.c onboard_dev_remove() -> device_release_driver()

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

drivers/cxl/core/ras.c cxl_error_detected() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->driver 1-u64max
BUF_SIZE 0 dev 1616
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &dev->mutex
HALF_LOCKED2 &pdev->dev.mutex
TYPE_LOCK (struct device)->mutex

drivers/cxl/core/ras.c cxl_error_detected() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->driver 1-u64max
BUF_SIZE 0 dev 1616
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &dev->mutex
HALF_LOCKED2 &pdev->dev.mutex
TYPE_LOCK (struct device)->mutex

drivers/net/wireless/marvell/mwl8k.c mwl8k_fw_state_machine() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c brcmf_usb_probe_phase2() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/cxl/core/region.c commit_store() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/cxl/core/region.c cxl_decoder_detach() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 _T->lock

drivers/dma/idxd/device.c idxd_device_drv_remove() -> device_release_driver()

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

drivers/net/wireless/ath/ath9k/hif_usb.c ath9k_hif_usb_firmware_fail() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->bus 0,4096-ptr_max
PARAM_VALUE 0 dev->class 0,4096-ptr_max
PARAM_VALUE 0 dev->driver 0,4096-ptr_max
BUF_SIZE 0 dev 1616
NOCHECK_CALL
HALF_LOCKED2 &parent->mutex
HALF_LOCKED2 &pool->lock

drivers/dma/idxd/init.c idxd_unbind() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->driver 3495308253179654184
DATA_SOURCE 0 dev r bus_find_device_by_name
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pdev->dev.mutex

drivers/net/wireless/intel/iwlegacy/4965-mac.c il4965_ucode_callback() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/xen/xen-pciback/pci_stub.c pci_stub_notifier() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
NOCHECK_CALL

drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c brcmf_pcie_setup() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->driver_data 0,4096-ptr_max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/base/bus.c bus_remove_device() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->bus 4096-ptr_max
PARAM_VALUE 0 dev->bus->dev_groups 0,4096-ptr_max
PARAM_VALUE 0 dev->groups 0,4096-ptr_max
PARAM_VALUE 0 dev->p 4096-ptr_max
PARAM_VALUE 0 dev->pins->p 0-s64max
PARAM_VALUE 0 dev->type 0,4096-ptr_max
PARAM_VALUE 0 dev->type->groups 0,4096-ptr_max
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->bus 1
CAPPED_DATA 0 dev->physical_location 1
DATA_SOURCE 0 dev $0
NOCHECK_CALL

drivers/net/phy/phy_device.c phy_detach() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->driver 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/hwtracing/intel_th/core.c intel_th_child_remove() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
DATA_SOURCE 0 dev $0
NOCHECK_CALL

drivers/misc/mei/bus.c mei_cl_bus_dev_stop() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bus->cl_bus_lock
TYPE_LOCK (struct mei_device)->cl_bus_lock

drivers/pci/remove.c pci_stop_dev() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/pci/remove.c pci_stop_root_bus() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 &child_device->mutex
HALF_LOCKED2 global &pci_rescan_remove_lock

drivers/bluetooth/btintel_pcie.c btintel_pcie_perform_pldr() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
NOCHECK_CALL
LOCK2 global &pci_rescan_remove_lock
HALF_LOCKED2 &pool->lock

drivers/perf/arm_cspmu/arm_cspmu.c arm_cspmu_impl_unregister() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 dev->power.wakeirq->status 0-4294967295
DATA_SOURCE 0 dev r driver_find_device
NOCHECK_CALL

drivers/platform/x86/lenovo/yogabook.c yogabook_work() -> device_release_driver()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/platform/x86/lenovo/yogabook.c yogabook_work() -> device_release_driver()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/cxl/core/memdev.c detach_memdev() -> device_release_driver()

Type Parameter Key Value
NOCHECK_CALL
UNITS 0 dev unit_byte
HALF_LOCKED2 &pool->lock

drivers/cxl/core/memdev.c detach_memdev() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/bus/fsl-mc/dprc-driver.c check_plugged_state_change() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mc_bus->scan_mutex
HALF_LOCKED2 &root_mc_bus->scan_mutex
TYPE_LOCK (struct fsl_mc_bus)->scan_mutex

drivers/nvme/host/apple.c apple_nvme_remove_dead_ctrl_work() -> device_release_driver()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c brcmf_sdio_bus_remove() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
NOCHECK_CALL

drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c brcmf_sdio_bus_remove() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
NOCHECK_CALL

drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c brcmf_sdio_firmware_callback() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 8,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c brcmf_sdio_firmware_callback() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/cxl/pmem.c detach_nvdimm() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->driver 1-u64max
PARAM_VALUE 0 dev->type 4096-ptr_max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &dev->mutex
HALF_LOCKED2 &add_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 &skt->skt_mutex
HALF_LOCKED2 &tb->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &core_lock
HALF_LOCKED2 global &pi_mutex
HALF_LOCKED2 global &pwrseq_sem
HALF_LOCKED2 global &registration_lock
HALF_LOCKED2 global &vdpa_dev_lock
HALF_LOCKED2 global &xenwatch_mutex
TYPE_LOCK (struct device)->mutex

drivers/net/wireless/intel/iwlwifi/iwl-drv.c iwl_req_fw_callback() -> device_release_driver()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/wireless/intersil/p54/p54pci.c p54p_firmware_step2() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &parent->mutex
HALF_LOCKED2 &pool->lock

sound/hda/common/codec.c snd_hda_codec_reset() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/usb/host/ehci-platform.c quirk_poll_rebind_companion() -> device_release_driver()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev 1616
DATA_SOURCE 0 dev r usb_of_get_companion_dev
NOCHECK_CALL
HALF_LOCKED2 &pool->lock