Defined in 1 files as a function:

Referenced in 12 files:

Smatch caller information:

drivers/scsi/hisi_sas/hisi_sas_v2_hw.c dev_parent_is_expander() -> dev_is_expander()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/scsi/aic94xx/aic94xx_dev.c asd_init_target_ddb() -> dev_is_expander()

Type Parameter Key Value
PARAM_VALUE 0 type 0-4,6-7,9-u32max
PREEMPT_ADD
LOCK2 &asd_ha->hw_prof.ddb_lock
LOCK2 flags
TYPE_LOCK (struct hw_profile)->ddb_lock

drivers/scsi/pm8001/pm8001_hwi.c dev_parent_is_expander() -> dev_is_expander()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &pm8001_ha->lock
LOCK2 flags
TYPE_LOCK (struct pm8001_hba_info)->lock

drivers/scsi/pm8001/pm8001_hwi.c pm8001_chip_reg_dev_req() -> dev_is_expander()

Type Parameter Key Value
PARAM_VALUE 0 type 0,2-4,6-u32max
LOCK2 &pm8001_ha->lock
LOCK2 flags
TYPE_LOCK (struct pm8001_hba_info)->lock

drivers/scsi/isci/task.c isci_task_abort_task() -> dev_is_expander()

Type Parameter Key Value
PARAM_VALUE 0 type 0-4,6,10-u32max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->ex_dev.cmd_mutex

drivers/scsi/libsas/sas_expander.c dev_parent_is_expander() -> dev_is_expander()

Type Parameter Key Value

drivers/scsi/libsas/sas_expander.c sas_check_ex_subtractive_boundary() -> dev_is_expander()

Type Parameter Key Value

drivers/scsi/libsas/sas_expander.c sas_check_level_subtractive_boundary() -> dev_is_expander()

Type Parameter Key Value
HALF_LOCKED2 &ha->disco_mutex

drivers/scsi/libsas/sas_expander.c sas_discover_bfs_by_root_level() -> dev_is_expander()

Type Parameter Key Value
HALF_LOCKED2 &ha->disco_mutex

drivers/scsi/libsas/sas_expander.c sas_discover_new() -> dev_is_expander()

Type Parameter Key Value
LOCK2 &ha->disco_mutex
TYPE_LOCK (struct sas_ha_struct)->disco_mutex

drivers/scsi/libsas/sas_expander.c sas_ex_level_discovery() -> dev_is_expander()

Type Parameter Key Value

drivers/scsi/libsas/sas_expander.c sas_find_bcast_dev() -> dev_is_expander()

Type Parameter Key Value
HALF_LOCKED2 &ha->disco_mutex

drivers/scsi/libsas/sas_expander.c sas_find_sub_addr() -> dev_is_expander()

Type Parameter Key Value
HALF_LOCKED2 &ha->disco_mutex

drivers/scsi/libsas/sas_expander.c sas_unregister_devs_sas_addr() -> dev_is_expander()

Type Parameter Key Value
LOCK2 &ha->disco_mutex
TYPE_LOCK (struct sas_ha_struct)->disco_mutex

drivers/scsi/libsas/sas_expander.c sas_unregister_ex_tree() -> dev_is_expander()

Type Parameter Key Value
HALF_LOCKED2 &ha->disco_mutex

drivers/scsi/hisi_sas/hisi_sas_main.c dev_parent_is_expander() -> dev_is_expander()

Type Parameter Key Value

drivers/scsi/hisi_sas/hisi_sas_main.c hisi_sas_clear_nexus_ha() -> dev_is_expander()

Type Parameter Key Value

drivers/scsi/hisi_sas/hisi_sas_main.c hisi_sas_phyup_work_common() -> dev_is_expander()

Type Parameter Key Value

drivers/scsi/hisi_sas/hisi_sas_main.c hisi_sas_rescan_topology() -> dev_is_expander()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/scsi/hisi_sas/hisi_sas_main.c hisi_sas_terminate_stp_reject() -> dev_is_expander()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hisi_hba->sem

drivers/scsi/libsas/sas_init.c sas_resume_insert_broadcast_ha() -> dev_is_expander()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/scsi/mvsas/mv_sas.c dev_parent_is_expander() -> dev_is_expander()

Type Parameter Key Value
HALF_LOCKED2 &mvi->lock
HALF_LOCKED2 flags

drivers/scsi/pm8001/pm8001_sas.c dev_parent_is_expander() -> dev_is_expander()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pm8001_ha->lock
HALF_LOCKED2 flags

drivers/scsi/libsas/sas_discover.c sas_abort_device_scsi_cmds() -> dev_is_expander()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ha->disco_mutex

drivers/scsi/libsas/sas_discover.c sas_free_device() -> dev_is_expander()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/scsi/libsas/sas_discover.c sas_revalidate_domain() -> dev_is_expander()

Type Parameter Key Value
LOCK2 &ha->disco_mutex
TYPE_LOCK (struct sas_ha_struct)->disco_mutex

drivers/scsi/isci/request.c sci_io_request_construct() -> dev_is_expander()

Type Parameter Key Value
PARAM_VALUE 0 type 0,2-4,6,10-u32max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->ex_dev.cmd_mutex
HALF_LOCKED2 ap->lock

drivers/scsi/hisi_sas/hisi_sas_v3_hw.c dev_parent_is_expander() -> dev_is_expander()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/scsi/pm8001/pm80xx_hwi.c dev_parent_is_expander() -> dev_is_expander()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &circularQ->oq_lock
LOCK2 circularQ->lock_flags
TYPE_LOCK (struct outbound_queue_table)->oq_lock

drivers/scsi/pm8001/pm80xx_hwi.c pm80xx_chip_reg_dev_req() -> dev_is_expander()

Type Parameter Key Value
PARAM_VALUE 0 type 0,2-4,6-u32max
LOCK2 &pm8001_ha->lock
LOCK2 flags
TYPE_LOCK (struct pm8001_hba_info)->lock

drivers/scsi/libsas/sas_port.c sas_deform_port() -> dev_is_expander()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/scsi/libsas/sas_port.c sas_form_port() -> dev_is_expander()

Type Parameter Key Value

drivers/scsi/libsas/sas_port.c sas_resume_port() -> dev_is_expander()

Type Parameter Key Value

drivers/scsi/isci/remote_device.c dev_parent_is_expander() -> dev_is_expander()

Type Parameter Key Value
PREEMPT_ADD
LOCK2 &isci_host->scic_lock
LOCK2 irq
TYPE_LOCK (struct isci_host)->scic_lock

drivers/scsi/isci/remote_device.c sci_remote_device_ready_state_enter() -> dev_is_expander()

Type Parameter Key Value
PARAM_VALUE 0 type 0-4,6-u32max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ihost->scic_lock
HALF_LOCKED2 &isci_host->scic_lock
HALF_LOCKED2 irq