Defined in 1 files as a function:

Referenced in 9 files:

Smatch caller information:

drivers/thunderbolt/usb4.c tb_switch_downstream_port() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 0 sw->dev.parent 4096-ptr_max
BUF_SIZE 0 sw->dev.parent (-1),1616
BUF_SIZE 0 sw->tb (-1),2304,3616
DATA_SOURCE 0 sw $0
BIT_INFO 0 sw->config.cmuv 0x0,0x30
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/usb4.c usb4_switch_setup() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
BUF_SIZE 0 sw (-1),1968
BUF_SIZE 0 sw (-1),1968
BUF_SIZE 0 sw->dev.parent (-1),1616
BUF_SIZE 0 sw->tb (-1),2304,3616
DATA_SOURCE 0 sw $0
BIT_INFO 0 sw->config.cmuv 0x0,0x30
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/switch.c tb_switch_downstream_port() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
CAPPED_DATA 0 sw 1
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/switch.c tb_switch_pcie_l1_enable() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 0 sw->dev.parent 4096-ptr_max
PARAM_VALUE 0 sw->dev.parent->type 4096-ptr_max
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 &tb->lock
LOCK2 0 &sw->tb->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/icm.c tb_switch_downstream_port() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
DATA_SOURCE 0 sw $0
LOCK2 &tb->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/icm.c update_switch() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
DATA_SOURCE 0 sw $0
LOCK2 &tb->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/tb.c tb_disable_clx() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
DATA_SOURCE 0 sw $0 [m]
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/tb.c tb_discover_tunnels() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tb->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/tb.c tb_enable_clx() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
BUF_SIZE 0 sw (-1),1968
BUF_SIZE 0 sw (-1),1968
DATA_SOURCE 0 sw $0 [m]
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/tb.c tb_switch_downstream_port() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
BUF_SIZE 0 sw (-1),1968
BUF_SIZE 0 sw (-1),1968
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &tb->lock
HALF_LOCKED2 0 &sw->tb->lock

drivers/thunderbolt/tb.c tb_tunnel_pci() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 0 sw->dev.parent 4096-ptr_max
PARAM_VALUE 0 sw->dev.parent->type 4096-ptr_max
DATA_SOURCE 0 sw $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 &tb->lock
LOCK2 0 &sw->tb->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/tb.c tb_tunnel_usb3() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
BUF_SIZE 0 sw (-1),1968
BUF_SIZE 0 sw (-1),1968
DATA_SOURCE 0 sw $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/acpi.c tb_acpi_switch_find_companion() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 0,4096-ptr_max
DATA_SOURCE 0 sw $0

drivers/thunderbolt/acpi.c tb_switch_downstream_port() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 0 sw->dev.parent 4096-ptr_max
PARAM_VALUE 0 sw->dev.parent->type 4096-ptr_max
DATA_SOURCE 0 sw $0

drivers/thunderbolt/tmu.c tb_switch_downstream_port() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
BUF_SIZE 0 sw->dev.parent (-1),1616
CAPPED_DATA 0 sw 1
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/tmu.c tb_switch_tmu_change_mode() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
BUF_SIZE 0 sw (-1),1968
BUF_SIZE 0 sw (-1),1968
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/tmu.c tb_switch_tmu_change_mode_prev() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/tmu.c tb_switch_tmu_configure() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
BUF_SIZE 0 sw (-1),1968
BUF_SIZE 0 sw (-1),1968
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/tmu.c tb_switch_tmu_enable_unidirectional() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
BUF_SIZE 0 sw (-1),1968
BUF_SIZE 0 sw (-1),1968
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/tmu.c tb_switch_tmu_off() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 0 sw->dev.parent 4096-ptr_max
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/clx.c tb_switch_clx_enable() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
BUF_SIZE 0 sw (-1),1968
BUF_SIZE 0 sw (-1),1968
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/clx.c tb_switch_downstream_port() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
DATA_SOURCE 0 sw $0
RX_PATH
TASK_NOT_RUNNING

drivers/thunderbolt/debugfs.c margining_switch_init() -> tb_switch_parent()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
BUF_SIZE 0 sw->debugfs_dir s32min-(-1),1-s32max
DATA_SOURCE 0 sw $0

drivers/thunderbolt/debugfs.c margining_switch_remove() -> tb_switch_parent()

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