Defined in 1 files as a function:

Referenced in 9 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->ex_dev.cmd_mutex
HALF_LOCKED2 ap->lock

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

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

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

Type Parameter Key Value
PARAM_VALUE 0 dev 0,4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &pm8001_ha->lock
LOCK2 flags
TYPE_LOCK (struct pm8001_hba_info)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev (-1),576
BUF_SIZE 0 dev (-1),576
BUF_SIZE 0 dev->rphy (-1),1680
CAPPED_DATA 0 dev->ex_dev.num_phys 1
CAPPED_DATA 0 dev->port 1
DATA_SOURCE 0 dev $0
NO_OVERFLOW_SIMPLE 0 dev->rphy->q->limits.max_open_zones

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

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev->rphy (-1),1680
DATA_SOURCE 0 dev $0
NO_OVERFLOW_SIMPLE 0 dev->rphy->q->nr_hw_queues

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

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev->rphy (-1),1680
CAPPED_DATA 0 dev->port 1
DATA_SOURCE 0 dev $0
HALF_LOCKED2 &mvi->lock
HALF_LOCKED2 flags

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

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev->rphy (-1),1680
DATA_SOURCE 0 dev $0
PREEMPT_ADD <- disables preempt
LOCK2 &pm8001_ha->lock
LOCK2 flags
TYPE_LOCK (struct pm8001_hba_info)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev->rphy (-1),1680
DATA_SOURCE 0 dev $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->rphy->q->async_depth
NO_OVERFLOW_SIMPLE 0 dev->rphy->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 dev->rphy->q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 dev->rphy->q->nr_requests
LOCK2 &pm8001_ha->lock
LOCK2 flags
TYPE_LOCK (struct pm8001_hba_info)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev->rphy (-1),1680
DATA_SOURCE 0 dev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 dev->rphy->q->async_depth
NO_OVERFLOW_SIMPLE 0 dev->rphy->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 dev->rphy->q->nr_requests
HALF_LOCKED2 &pm8001_ha->lock
HALF_LOCKED2 flags

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

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
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 setup_itct_v3_hw() -> dev_parent_is_expander()

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

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

Type Parameter Key Value
PARAM_VALUE 0 dev 0,4096-ptr_max
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/isci/remote_device.c isci_remote_device_construct() -> dev_parent_is_expander()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PREEMPT_ADD
LOCK2 &isci_host->scic_lock
LOCK2 irq
TYPE_LOCK (struct isci_host)->scic_lock