Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/thunderbolt/switch.c nvm_read() -> tb_switch_nvm_read()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 0 sw->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 sw->dev.class 0,4096-ptr_max
PARAM_VALUE 0 sw->dev.power.request 0-4
PARAM_VALUE 0 sw->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 sw->dev.power.wakeirq 0,4096-ptr_max
PARAM_VALUE 0 sw->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 sw->dev.type 0,4096-ptr_max
PARAM_VALUE 0 sw->tb 4096-ptr_max
BUF_SIZE 2 buf (-1)-s32max
BUF_SIZE 2 buf (-1)-s32max
CAPPED_DATA 0 &sw->tb->lock 1
DATA_SOURCE 0 sw r tb_to_switch
DATA_SOURCE 1 address $1
DATA_SOURCE 2 buf $2
DATA_SOURCE 3 size $3
PARAM_COMPARE 2 buf == $3
NOSPEC 1 address
NOSPEC 1 address
NOSPEC 3 size
NOSPEC 3 size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 address 0-4294967294
USER_DATA 2 buf 4096-ptr_max[u]
USER_DATA 3 size 0-u32max[c]
NO_OVERFLOW_SIMPLE 2 buf->node.size
BYTE_COUNT 2 ==buf3 8050
LOCK2 0 &sw->tb->lock
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/nvm.c asmedia_switch_nvm_version() -> tb_switch_nvm_read()

Type Parameter Key Value
PARAM_VALUE 0 sw 0,4096-ptr_max
PARAM_VALUE 1 address 40
PARAM_VALUE 2 buf 2907331566878269440
PARAM_VALUE 3 size 4
BUF_SIZE 2 buf 4
DATA_SOURCE 0 sw r tb_to_switch
RX_PATH
TASK_NOT_RUNNING
UNITS 3 size unit_byte
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/nvm.c asmedia_switch_nvm_version() -> tb_switch_nvm_read()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 1 address 28
PARAM_VALUE 2 buf 2907331566878269440
PARAM_VALUE 2 *buf 0-255
PARAM_VALUE 3 size 4
BUF_SIZE 2 buf 4
DATA_SOURCE 0 sw r tb_to_switch
RX_PATH
TASK_NOT_RUNNING
UNITS 3 size unit_byte
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/nvm.c intel_switch_nvm_version() -> tb_switch_nvm_read()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 0 sw->safe_mode 0
PARAM_VALUE 1 address 69
PARAM_VALUE 2 buf 5755337871235592192
PARAM_VALUE 3 size 4
BUF_SIZE 2 buf 4
DATA_SOURCE 0 sw r tb_to_switch
RX_PATH
TASK_NOT_RUNNING
UNITS 3 size unit_byte
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &tb->lock

drivers/thunderbolt/nvm.c intel_switch_nvm_version() -> tb_switch_nvm_read()

Type Parameter Key Value
PARAM_VALUE 0 sw 4096-ptr_max
PARAM_VALUE 0 sw->safe_mode 0
PARAM_VALUE 1 address 8
PARAM_VALUE 2 buf 5755337871235592192
PARAM_VALUE 2 *buf 0-255
PARAM_VALUE 3 size 4
BUF_SIZE 2 buf 4
DATA_SOURCE 0 sw r tb_to_switch
RX_PATH
TASK_NOT_RUNNING
UNITS 3 size unit_byte
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &tb->lock