Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/tty/serial/meson_uart.c meson_uart_change_speed() -> meson_uart_tx_empty()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
BUF_SIZE 0 port s32min-(-1),1-s32max
BUF_SIZE 0 port s32min-(-1),1-s32max
BUF_SIZE 0 port->uartclk (-1),9
DATA_SOURCE 0 port $0
STR_LEN 0 port (-1),7
STR_LEN 0 port (-1),7
STR_LEN 0 port->cons (-1)
NOSPEC 0 port->cons->index
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 port->cons->cflag s32min-0,16-s32max
HOST_DATA 0 port->cons->dropped 0
HOST_DATA 0 port->cons->irq_work.node.a_flags.counter 0
HOST_DATA 0 port->cons->irq_work.node.dst 0
HOST_DATA 0 port->cons->irq_work.node.src 0
HOST_DATA 0 port->cons->irq_work.node.u_flags 0
HOST_DATA 0 port->cons->ispeed 0-u32max
HOST_DATA 0 port->cons->nbcon_device_ctxt.allow_unsafe_takeover 0
HOST_DATA 0 port->cons->nbcon_device_ctxt.backlog 0
HOST_DATA 0 port->cons->nbcon_device_ctxt.prio 0
HOST_DATA 0 port->cons->nbcon_device_ctxt.seq 0
HOST_DATA 0 port->cons->nbcon_device_ctxt.spinwait_max_us 0
HOST_DATA 0 port->cons->nbcon_prev_seq.counter (-1)-0
HOST_DATA 0 port->cons->nbcon_seq.counter s64min-s64max
HOST_DATA 0 port->cons->nbcon_state.counter 0
HOST_DATA 0 port->cons->ospeed 0-u32max
HOST_DATA 0 port->cons->seq 0-u64max
USER_DATA 0 port->cons->index 0-3[c]
LOCK2 flags
LOCK2 0 &port->lock
HALF_LOCKED2 &port->mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &console_mutex
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/meson_uart.c meson_uart_change_speed() -> meson_uart_tx_empty()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
BUF_SIZE 0 port s32min-(-1),1-s32max
BUF_SIZE 0 port s32min-(-1),1-s32max
BUF_SIZE 0 port->uartclk (-1),9
DATA_SOURCE 0 port $0
STR_LEN 0 port (-1),7
STR_LEN 0 port (-1),7
STR_LEN 0 port->cons (-1)
NOSPEC 0 port->cons->index
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 port->cons->cflag s32min-0,16-s32max
HOST_DATA 0 port->cons->dropped 0
HOST_DATA 0 port->cons->irq_work.node.a_flags.counter 0
HOST_DATA 0 port->cons->irq_work.node.dst 0
HOST_DATA 0 port->cons->irq_work.node.src 0
HOST_DATA 0 port->cons->irq_work.node.u_flags 0
HOST_DATA 0 port->cons->ispeed 0-u32max
HOST_DATA 0 port->cons->nbcon_device_ctxt.allow_unsafe_takeover 0
HOST_DATA 0 port->cons->nbcon_device_ctxt.backlog 0
HOST_DATA 0 port->cons->nbcon_device_ctxt.prio 0
HOST_DATA 0 port->cons->nbcon_device_ctxt.seq 0
HOST_DATA 0 port->cons->nbcon_device_ctxt.spinwait_max_us 0
HOST_DATA 0 port->cons->nbcon_prev_seq.counter (-1)-0
HOST_DATA 0 port->cons->nbcon_seq.counter s64min-s64max
HOST_DATA 0 port->cons->nbcon_state.counter 0
HOST_DATA 0 port->cons->ospeed 0-u32max
HOST_DATA 0 port->cons->seq 0-u64max
USER_DATA 0 port->cons->index 0-3[c]
LOCK2 flags
LOCK2 0 &port->lock
HALF_LOCKED2 &port->mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &console_mutex
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/serial_core.c uart_get_lsr_info() -> (struct uart_ops)->tx_empty()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->ops 4096-ptr_max
CONTAINER 0 -0-392+0 $(-1)
LOCK2 _T->lock
HALF_LOCKED2 &tty->termios_rwsem

drivers/tty/serial/serial_core.c uart_suspend_port() -> (struct uart_ops)->tx_empty()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cons 0,4096-ptr_max
PARAM_VALUE 0 port->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 port->mctrl 0
PARAM_VALUE 0 port->ops 4096-ptr_max
PARAM_VALUE 0 port->suspended 1
BUF_SIZE 0 port s32min-(-1),1-s32max
BUF_SIZE 0 port s32min-(-1),1-s32max
DATA_SOURCE 0 port $1
BIT_INFO 0 port->rs485.flags 0x0,0xffffffff
TASK_NOT_RUNNING
LOCK2 _T->lock
LOCK2 0 &port->lock

drivers/tty/serial/serial_core.c uart_suspend_port() -> (struct uart_ops)->tx_empty()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cons 0,4096-ptr_max
PARAM_VALUE 0 port->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 port->mctrl 0
PARAM_VALUE 0 port->ops 4096-ptr_max
PARAM_VALUE 0 port->suspended 1
BUF_SIZE 0 port s32min-(-1),1-s32max
BUF_SIZE 0 port s32min-(-1),1-s32max
DATA_SOURCE 0 port $1
BIT_INFO 0 port->rs485.flags 0x0,0xffffffff
TASK_NOT_RUNNING
LOCK2 _T->lock
LOCK2 0 &port->lock

drivers/tty/serial/serial_core.c uart_wait_until_sent() -> (struct uart_ops)->tx_empty()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->fifosize 1-u32max
PARAM_VALUE 0 port->ops 4096-ptr_max
PARAM_VALUE 0 port->type 1-u32max
CONTAINER 0 -0-392+0 $(-1)
TASK_NOT_RUNNING
HALF_LOCKED2 &tty->atomic_write_lock
HALF_LOCKED2 &tty->ldisc_sem

drivers/tty/serial/serial_core.c uart_wait_until_sent() -> (struct uart_ops)->tx_empty()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->fifosize 1-u32max
PARAM_VALUE 0 port->ops 4096-ptr_max
PARAM_VALUE 0 port->type 1-u32max
CONTAINER 0 -0-392+0 $(-1)
TASK_NOT_RUNNING
HALF_LOCKED2 &tty->atomic_write_lock
HALF_LOCKED2 &tty->ldisc_sem