Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/spi/spi-dw-mmio.c dw_spi_elba_set_cs() -> spi_set_chipselect()

Type Parameter Key Value
PARAM_VALUE 0 spi 4096-ptr_max
PARAM_VALUE 1 idx 0
PARAM_VALUE 2 chipselect 0
BUF_SIZE 0 spi->controller (-1),64,176,208,272,360,504,696,976,1656,1728,1776,2360,2864-5728
BUF_SIZE 0 spi->controller_data s32min-(-1),1-s32max
BUF_SIZE 0 spi->dev.init_name (-1),50
BUF_SIZE 0 spi->dev.platform_data (-1),32
CAPPED_DATA 0 spi->num_chipselect 1
DATA_SOURCE 0 spi $0
STR_LEN 0 spi (-1),56
STR_LEN 0 spi (-1),56
STR_LEN 0 spi->dev.init_name (-1),49
NOSPEC 0 spi->max_speed_hz
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 spi->controller->num_chipselect 1-32[c]
HOST_DATA 0 spi->controller->num_data_lanes 0-u16max[c]
USER_DATA 0 spi->bits_per_word 1-255
USER_DATA 0 spi->controller->last_cs_mode_high 0-1[c]
USER_DATA 0 spi->max_speed_hz 1-u32max[c]
USER_DATA 0 spi->mode 0-524287[c]
NO_OVERFLOW_SIMPLE 0 spi->controller->kworker->task->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 spi->controller->num_chipselect
HALF_LOCKED2 &ctlr->io_mutex
HALF_LOCKED2 0 &spi->controller->bus_lock_mutex
HALF_LOCKED2 0 &spi->controller->io_mutex
TYPE_LOCK (struct spi_controller)->io_mutex

drivers/spi/spi-dw-mmio.c dw_spi_elba_set_cs() -> spi_set_chipselect()

Type Parameter Key Value
PARAM_VALUE 0 spi 4096-ptr_max
PARAM_VALUE 1 idx 0
BUF_SIZE 0 spi->controller (-1),64,176,208,272,360,504,696,976,1656,1728,1776,2360,2864-5728
BUF_SIZE 0 spi->controller_data s32min-(-1),1-s32max
BUF_SIZE 0 spi->dev.init_name (-1),50
BUF_SIZE 0 spi->dev.platform_data (-1),32
CAPPED_DATA 0 spi->num_chipselect 1
DATA_SOURCE 0 spi $0
DATA_SOURCE 2 chipselect r spi_get_chipselect
STR_LEN 0 spi (-1),56
STR_LEN 0 spi (-1),56
STR_LEN 0 spi->dev.init_name (-1),49
NOSPEC 0 spi->max_speed_hz
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 spi->controller->num_chipselect 1-32[c]
HOST_DATA 0 spi->controller->num_data_lanes 0-u16max[c]
USER_DATA 0 spi->bits_per_word 1-255
USER_DATA 0 spi->controller->last_cs_mode_high 0-1[c]
USER_DATA 0 spi->max_speed_hz 1-u32max[c]
USER_DATA 0 spi->mode 0-524287[c]
NO_OVERFLOW_SIMPLE 0 spi->controller->kworker->task->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 spi->controller->num_chipselect
HALF_LOCKED2 &ctlr->io_mutex
HALF_LOCKED2 0 &spi->controller->bus_lock_mutex
HALF_LOCKED2 0 &spi->controller->io_mutex
TYPE_LOCK (struct spi_controller)->io_mutex

drivers/spi/spi.c __spi_add_device() -> spi_set_chipselect()

Type Parameter Key Value
PARAM_VALUE 0 spi 4096-ptr_max
PARAM_VALUE 1 idx 0-3
PARAM_VALUE 2 chipselect 255
BUF_SIZE 0 spi (-1),1776,1792
BUF_SIZE 0 spi (-1),1776,1792
BUF_SIZE 0 spi->controller (-1),1-s32max
BUF_SIZE 0 spi->controller_data s32min-(-1),1-s32max
BUF_SIZE 0 spi->dev.init_name (-1),50
BUF_SIZE 0 spi->dev.platform_data (-1),32
CAPPED_DATA 0 spi->num_chipselect 1
DATA_SOURCE 0 spi $0
STR_LEN 0 spi->dev.init_name (-1),49
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 spi->controller->num_chipselect 1-32[c]
HOST_DATA 0 spi->controller->num_data_lanes 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 spi->controller->num_chipselect
UNITS 1 idx unit_byte
HALF_LOCKED2 &ctlr->add_lock
HALF_LOCKED2 &of->mutex

drivers/spi/spi.c acpi_spi_device_alloc() -> spi_set_chipselect()

Type Parameter Key Value
PARAM_VALUE 0 spi 4096-ptr_max
PARAM_VALUE 1 idx 0
PARAM_VALUE 2 chipselect 0
BUF_SIZE 0 spi 1792
BUF_SIZE 0 spi->controller (-1),1-s32max
DATA_SOURCE 0 spi r spi_alloc_device
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 spi->controller->num_chipselect

drivers/spi/spi.c new_device_store() -> spi_set_chipselect()

Type Parameter Key Value
PARAM_VALUE 0 spi 4096-ptr_max
PARAM_VALUE 1 idx 0
BUF_SIZE 0 spi 1792
CAPPED_DATA 2 chipselect 1
DATA_SOURCE 0 spi r spi_alloc_device
NOSPEC 2 chipselect
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 spi->controller->num_chipselect
UNITS 2 chipselect unit_array_size
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/spi/spi.c of_spi_parse_dt() -> spi_set_chipselect()

Type Parameter Key Value
PARAM_VALUE 0 spi 4096-ptr_max
BUF_SIZE 0 spi 1792
BUF_SIZE 0 spi->controller (-1),2864-5728
CAPPED_DATA 0 spi->num_rx_lanes 1
CAPPED_DATA 0 spi->num_tx_lanes 1
CAPPED_DATA 1 idx 1
DATA_SOURCE 0 spi $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 spi->controller->num_chipselect 1-32[c]
HOST_DATA 0 spi->controller->num_data_lanes 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 spi->controller->num_chipselect
UNITS 1 idx unit_byte

drivers/spi/spi.c spi_new_ancillary_device() -> spi_set_chipselect()

Type Parameter Key Value
PARAM_VALUE 0 spi 4096-ptr_max
PARAM_VALUE 1 idx 0
BUF_SIZE 0 spi 1792
DATA_SOURCE 0 spi r spi_alloc_device
DATA_SOURCE 2 chipselect $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 spi->controller->num_chipselect

drivers/spi/spi.c spi_new_device() -> spi_set_chipselect()

Type Parameter Key Value
PARAM_VALUE 0 spi 4096-ptr_max
PARAM_VALUE 1 idx 0
BUF_SIZE 0 spi 1792
BUF_SIZE 0 spi->controller (-1),64,176,208,272,360,504,696,976,1656,1728,1776,2360,2864-5752
DATA_SOURCE 0 spi r spi_alloc_device
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 spi->controller->num_chipselect 1-32[c]
HOST_DATA 0 spi->controller->num_data_lanes 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 spi->controller->num_chipselect
HALF_LOCKED2 global &board_lock