Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 13 files:

Smatch caller information:

drivers/bluetooth/hci_qca.c qca_send_power_pulse() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 serdev->ctrl->ops->close 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->ops->open 4096-ptr_max
PARAM_VALUE 0 serdev->ops->receive_buf 4096-ptr_max
PARAM_VALUE 1 buf 311758818010480640
PARAM_VALUE 1 *buf 192,252
PARAM_VALUE 2 count 1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 count unit_byte
HALF_LOCKED2 &hdev->req_lock

drivers/bluetooth/hci_qca.c qca_serdev_shutdown() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 1 buf 4096-ptr_max
PARAM_VALUE 2 count 1
DATA_SOURCE 0 serdev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 2 count unit_byte
LOCK2 &dev->mutex
HALF_LOCKED2 &parent->mutex
HALF_LOCKED2 global &system_transition_mutex
TYPE_LOCK (struct device)->mutex

drivers/bluetooth/hci_qca.c qca_serdev_shutdown() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 4096-ptr_max
PARAM_VALUE 1 buf 4096-ptr_max
PARAM_VALUE 2 count 5
BUF_SIZE 1 buf 5
DATA_SOURCE 0 serdev $0
RX_PATH
TASK_NOT_RUNNING
UNITS 2 count unit_byte
LOCK2 &dev->mutex
HALF_LOCKED2 &parent->mutex
HALF_LOCKED2 global &system_transition_mutex
TYPE_LOCK (struct device)->mutex

drivers/bluetooth/hci_qca.c qca_suspend() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 1 buf 142567237267316736
PARAM_VALUE 1 *buf 254
PARAM_VALUE 2 count 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 2 count unit_byte
LOCK2 &qca->hci_ibs_lock
LOCK2 flags
TYPE_LOCK (struct qca_data)->hci_ibs_lock

drivers/platform/chrome/cros_ec_uart.c cros_ec_uart_pkt_xfer() -> serdev_device_write_buf()

Type Parameter Key Value
BUF_SIZE 1 buf s32min-(-2),1-s32max
CAPPED_DATA 2 count 1
DATA_SOURCE 2 count r cros_ec_prepare_tx
BIT_INFO 2 count 0x0,0x7fffffff
NOSPEC 2 count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 buf->checksum 0-255
USER_DATA 2 count 5-65543[c]
HALF_LOCKED2 &ec_dev->lock

drivers/net/ethernet/qualcomm/qca_uart.c qcauart_netdev_xmit() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 0,4096-ptr_max
BUF_SIZE 1 buf 1528
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &qca->lock
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct qcauart)->lock

drivers/net/ethernet/qualcomm/qca_uart.c qcauart_transmit() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 2 count 1-s32max
PREEMPT_ADD <- disables preempt
LOCK2 &qca->lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct qcauart)->lock

drivers/greybus/gb-beagleplay.c cc1352_bootloader_crc32() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev->ctrl->ops->close 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->ops->open 4096-ptr_max
PARAM_VALUE 1 buf 1011482202414194688
PARAM_VALUE 2 count 3
BUF_SIZE 1 buf 3
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/greybus/gb-beagleplay.c cc1352_bootloader_crc32() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->ops->close 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->ops->open 4096-ptr_max
PARAM_VALUE 1 buf 7667218092239679488
PARAM_VALUE 2 count 12
BUF_SIZE 1 buf 12
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/greybus/gb-beagleplay.c cc1352_bootloader_download() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 3537129250624778240
PARAM_VALUE 2 count 3
BUF_SIZE 1 buf 3
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/greybus/gb-beagleplay.c cc1352_bootloader_download() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 1 buf 1234738368128294912
PARAM_VALUE 2 count 8
BUF_SIZE 1 buf 8
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/greybus/gb-beagleplay.c cc1352_bootloader_erase() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->ops->close 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->ops->open 4096-ptr_max
PARAM_VALUE 0 serdev->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 serdev->dev.class 0,4096-ptr_max
PARAM_VALUE 0 serdev->dev.driver 0,4096-ptr_max
PARAM_VALUE 1 buf 2239012398523944960
PARAM_VALUE 2 count 3
BUF_SIZE 1 buf 3
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/greybus/gb-beagleplay.c cc1352_bootloader_get_status() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->ops->close 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->ops->open 4096-ptr_max
PARAM_VALUE 1 buf 2216470546531635200
PARAM_VALUE 2 count 3
BUF_SIZE 1 buf 3
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/greybus/gb-beagleplay.c cc1352_bootloader_reset() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev->ctrl->ops->close 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->ops->open 4096-ptr_max
PARAM_VALUE 1 buf 7054190654646321152
PARAM_VALUE 2 count 3
BUF_SIZE 1 buf 3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 count unit_byte

drivers/greybus/gb-beagleplay.c cc1352_bootloader_send_ack() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 4096-ptr_max
PARAM_VALUE 2 count 2
BUF_SIZE 1 buf 2
NOCHECK_CALL
UNITS 2 count unit_byte
LOCK2 &buf->lock
LOCK2 &pool->lock
TYPE_LOCK (struct tty_bufhead)->lock

drivers/greybus/gb-beagleplay.c cc1352_bootloader_send_data() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 2594476125953503232
PARAM_VALUE 2 count 3
BUF_SIZE 1 buf 3
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/greybus/gb-beagleplay.c cc1352_bootloader_send_data() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 1 buf 4096-ptr_max
PARAM_VALUE 2 count 1-252
CAPPED_DATA 2 count 1
DATA_SOURCE 1 buf $1
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/greybus/gb-beagleplay.c cc1352_bootloader_send_nack() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 serdev->dev.class 0,4096-ptr_max
PARAM_VALUE 0 serdev->dev.driver 0,4096-ptr_max
PARAM_VALUE 1 buf 4096-ptr_max
PARAM_VALUE 2 count 2
BUF_SIZE 1 buf 2
NOCHECK_CALL
UNITS 2 count unit_byte
LOCK2 &buf->lock
LOCK2 &pool->lock
TYPE_LOCK (struct tty_bufhead)->lock

drivers/greybus/gb-beagleplay.c cc1352_bootloader_sync() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->ops->close 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl->ops->open 4096-ptr_max
PARAM_VALUE 0 serdev->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 serdev->dev.class 0,4096-ptr_max
PARAM_VALUE 0 serdev->dev.driver 0,4096-ptr_max
PARAM_VALUE 1 buf 4096-ptr_max
PARAM_VALUE 2 count 2
BUF_SIZE 1 buf 2
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/greybus/gb-beagleplay.c hdlc_write() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 4096-ptr_max
PARAM_VALUE 2 count 1-1023
CAPPED_DATA 2 count 1
PREEMPT_ADD
UNITS 2 count unit_byte
LOCK2 &bg->tx_consumer_lock
LOCK2 bh
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct gb_beagleplay)->tx_consumer_lock

drivers/bluetooth/btmtkuart.c btmtkuart_change_baudrate() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 1 buf 142110301699309568
PARAM_VALUE 1 *buf 255
PARAM_VALUE 2 count 1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 count unit_byte
LOCK2 &hdev->req_lock
TYPE_LOCK (struct hci_dev)->req_lock

drivers/bluetooth/btmtkuart.c btmtkuart_tx_work() -> serdev_device_write_buf()

Type Parameter Key Value
BUF_SIZE 1 buf 1-s32max
UNITS 1 buf unit_byte
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/platform/surface/aggregator/ssh_packet_layer.c ssh_ptl_write_buf() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 1-u64max
DATA_SOURCE 1 buf $2
DATA_SOURCE 2 count $3
UNITS 1 buf unit_byte
UNITS 2 count unit_byte

drivers/bluetooth/hci_serdev.c hci_uart_write_work() -> serdev_device_write_buf()

Type Parameter Key Value
BUF_SIZE 1 buf 1-s32max
UNITS 1 buf unit_byte
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/platform/x86/lenovo/yoga-tab2-pro-1380-fastcharger.c yt2_1380_fc_worker() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 4470703376024530944
PARAM_VALUE 2 count 2
BUF_SIZE 1 buf 3
STR_LEN 0 serdev 2
TERMINATED 1 buf 1
HALF_LOCKED2 &pool->lock

sound/drivers/serial-generic.c snd_serial_generic_tx_work() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 2 count 0-s32max,18446744071562067968-u64max
BUF_SIZE 1 buf 256
DATA_SOURCE 2 count r snd_rawmidi_transmit_peek
HALF_LOCKED2 &pool->lock

drivers/bluetooth/btnxpuart.c btnxpuart_tx_work() -> serdev_device_write_buf()

Type Parameter Key Value
BUF_SIZE 1 buf 1-s32max
UNITS 1 buf unit_byte
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/bluetooth/btnxpuart.c nxp_fw_change_baudrate() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 1887120266642038784
PARAM_VALUE 2 count 16
BUF_SIZE 1 buf 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/bluetooth/btnxpuart.c nxp_fw_change_baudrate() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 3538898341584646144
PARAM_VALUE 2 count 52
BUF_SIZE 1 buf 52
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/bluetooth/btnxpuart.c nxp_fw_change_timeout() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 899133564863389696
PARAM_VALUE 2 count 16
BUF_SIZE 1 buf 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/bluetooth/btnxpuart.c nxp_handle_fw_download_error() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 2 count 2
BUF_SIZE 1 buf 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/bluetooth/btnxpuart.c nxp_handle_fw_download_error() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 2 count 6
BUF_SIZE 1 buf 6
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/bluetooth/btnxpuart.c nxp_recv_fw_req_v1() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 buf unit_byte
HALF_LOCKED2 &pool->lock

drivers/bluetooth/btnxpuart.c nxp_recv_fw_req_v3() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 4096-ptr_max
PARAM_VALUE 2 count 1-u16max
CAPPED_DATA 2 count 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 buf unit_byte
UNITS 2 count unit_byte
HALF_LOCKED2 &pool->lock

drivers/bluetooth/btnxpuart.c nxp_send_ack() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 4096-ptr_max
PARAM_VALUE 2 count 1-2
BUF_SIZE 1 buf 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/w1/masters/w1-uart.c w1_uart_serdev_tx_rx() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 0,4096-ptr_max
PARAM_VALUE 1 buf 4096-ptr_max
PARAM_VALUE 2 count 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->bus_mutex

drivers/platform/x86/dell/dell-uart-backlight.c dell_uart_bl_command() -> serdev_device_write_buf()

Type Parameter Key Value
PARAM_VALUE 1 buf 4096-ptr_max
PARAM_VALUE 2 count 3-4
BUF_SIZE 1 buf 3-4
BUF_SIZE 1 buf 3-4
DATA_SOURCE 1 buf $1
DATA_SOURCE 2 count $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dell_bl->mutex
TYPE_LOCK (struct dell_uart_backlight)->mutex