Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 9 files:

Smatch caller information:

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

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
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &hdev->req_lock

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

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
DATA_SOURCE 0 serdev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_flush()

Type Parameter Key Value
PARAM_VALUE 0 serdev 4096-ptr_max
PARAM_VALUE 0 serdev->ctrl 4096-ptr_max
DATA_SOURCE 0 serdev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_flush()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &qca->hci_ibs_lock
LOCK2 flags
TYPE_LOCK (struct qca_data)->hci_ibs_lock

drivers/bluetooth/btmtkuart.c btmtkuart_flush() -> serdev_device_write_flush()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &hdev->req_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct hci_dev)->req_lock

drivers/bluetooth/hci_serdev.c hci_uart_flush() -> serdev_device_write_flush()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &hdev->req_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct hci_dev)->req_lock

sound/drivers/serial-generic.c snd_serial_generic_output_drain() -> serdev_device_write_flush()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 _T->lock

drivers/bluetooth/btnxpuart.c btnxpuart_flush() -> serdev_device_write_flush()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &hdev->req_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct hci_dev)->req_lock

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->bus_mutex

drivers/mfd/qnap-mcu.c qnap_mcu_write() -> serdev_device_write_flush()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
HALF_LOCKED2 &of->mutex

drivers/bluetooth/hci_nokia.c nokia_reset() -> serdev_device_write_flush()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &hdev->req_lock
TYPE_LOCK (struct hci_dev)->req_lock