Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/char/tpm/tpm_tis_spi_main.c tpm_tis_spi_read_bytes() -> tpm_tis_spi_transfer()

Type Parameter Key Value
PARAM_VALUE 0 data 4096-ptr_max
PARAM_VALUE 0 data->phy_ops 4096-ptr_max
PARAM_VALUE 0 data->phy_ops->read_bytes 0,4096-ptr_max
PARAM_VALUE 0 data->phy_ops->verify_crc 0,3331698306427895808
PARAM_VALUE 0 data->phy_ops->write_bytes 0,4096-ptr_max
PARAM_VALUE 1 addr 0,4-s32max,2147483656-4294963236
PARAM_VALUE 2 len 1-4086
PARAM_VALUE 4 out 0
BUF_SIZE 0 data s32min-(-1),1-s32max
BUF_SIZE 0 data s32min-(-1),1-s32max
BUF_SIZE 0 data->chip (-1),9120
BUF_SIZE 3 in (-1),2,4
BUF_SIZE 3 in (-1),2,4
CAPPED_DATA 2 len 1
DATA_SOURCE 0 data $0
DATA_SOURCE 1 addr $1
DATA_SOURCE 2 len $2
DATA_SOURCE 3 in $3
BIT_INFO 1 addr 0x0,0xfffffffc
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 data->did_vid 0-255
HOST_DATA 0 data->int_mask 0[c]
HOST_DATA 0 data->irq 1-255
HOST_DATA 3 *in 0-255
USER_DATA 3 *in 0-255
USER_PTR 3 in

drivers/char/tpm/tpm_tis_spi_main.c tpm_tis_spi_write_bytes() -> tpm_tis_spi_transfer()

Type Parameter Key Value
PARAM_VALUE 0 data 4096-ptr_max
PARAM_VALUE 0 data->phy_ops->read_bytes 0,4096-ptr_max
PARAM_VALUE 0 data->phy_ops->write_bytes 0,4096-ptr_max
PARAM_VALUE 1 addr 0,4-4294963236
PARAM_VALUE 2 len 0-4095,u16max
PARAM_VALUE 3 in 0
BUF_SIZE 0 data s32min-(-1),1-s32max
BUF_SIZE 0 data s32min-(-1),1-s32max
BUF_SIZE 0 data->chip (-1),9120
BUF_SIZE 4 out (-1),4
BUF_SIZE 4 out (-1),4
CAPPED_DATA 2 len 1
DATA_SOURCE 0 data $0
DATA_SOURCE 1 addr $1
DATA_SOURCE 2 len $2
DATA_SOURCE 4 out $3
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 data->did_vid 0-255
HOST_DATA 0 data->int_mask 0[c]
HOST_DATA 0 data->irq 1-255
HOST_DATA 4 *out 0-255
USER_DATA 2 len 0-4094,u16max[c][u]
USER_DATA 4 *out 0-255
USER_PTR 4 out
HALF_LOCKED2 0 &data->locality_count_mutex

drivers/char/tpm/tpm_tis_spi_cr50.c tpm_tis_spi_cr50_transfer() -> tpm_tis_spi_transfer()

Type Parameter Key Value
PARAM_VALUE 0 data 4096-ptr_max
PARAM_VALUE 0 data->phy_ops 4096-ptr_max
PARAM_VALUE 0 data->phy_ops->read_bytes 0,4096-ptr_max
PARAM_VALUE 0 data->phy_ops->verify_crc 0,3331698306427895808
PARAM_VALUE 0 data->phy_ops->write_bytes 0,4096-ptr_max
PARAM_VALUE 1 addr 0,4-4294967184
PARAM_VALUE 2 len 0-4095,u16max
BUF_SIZE 0 data s32min-(-1),1-s32max
BUF_SIZE 0 data s32min-(-1),1-s32max
BUF_SIZE 0 data->chip (-1),9120
BUF_SIZE 3 in (-1),2,4
BUF_SIZE 3 in (-1),2,4
BUF_SIZE 4 out (-1),4
BUF_SIZE 4 out (-1),4
CAPPED_DATA 2 len 1
DATA_SOURCE 0 data $0
DATA_SOURCE 1 addr $1
DATA_SOURCE 2 len $2
DATA_SOURCE 3 in $3
DATA_SOURCE 4 out $4
NOSPEC 2 len
NOSPEC 2 len
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 data->did_vid 0-255
HOST_DATA 0 data->int_mask 0-390[c]
HOST_DATA 0 data->irq 1-255
HOST_DATA 3 *in 0-255
HOST_DATA 4 *out 0-255
USER_DATA 2 len 0-4094,u16max[c][u]
USER_DATA 3 *in 0-255
USER_DATA 4 *out 0-255
USER_PTR 3 in
USER_PTR 4 out
LOCK2 &cr50_phy->time_track_mutex
HALF_LOCKED2 0 &data->locality_count_mutex
TYPE_LOCK (struct cr50_spi_phy)->time_track_mutex