Defined in 1 files as a function:

Referenced in 47 files:

Smatch caller information:

drivers/tty/serial/sh-sci.c sci_handle_breaks() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
DATA_SOURCE 0 port $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/tty/serial/altera_uart.c altera_uart_rx_chars() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cons 0,4096-ptr_max
BUF_SIZE 0 port (-1),616
BUF_SIZE 0 port (-1),616
DATA_SOURCE 0 port $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/sunplus-uart.c receive_chars() -> uart_handle_break()

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
DATA_SOURCE 0 port $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 port->sysrq_ch 1-255
LOCK2 0 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/ucc_uart.c qe_uart_int() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags

drivers/tty/serial/sccnxp.c sccnxp_handle_rx() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->dev 4096-ptr_max
PARAM_VALUE 0 port->dev->driver_data 4096-ptr_max
DATA_SOURCE 0 port $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &s->lock
LOCK2 flags
TYPE_LOCK (struct sccnxp_port)->lock

drivers/tty/serial/amba-pl010.c pl010_rx_chars() -> uart_handle_break()

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
BUF_SIZE 0 port 616
DATA_SOURCE 0 port $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/sc16is7xx.c sc16is7xx_handle_rx() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
BUF_SIZE 0 port 616
DATA_SOURCE 0 port $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 _T->lock

drivers/tty/serial/max310x.c max310x_handle_rx() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->read_status_mask 0-1,3-u32max
BUF_SIZE 0 port 616
CAPPED_DATA 0 port->fifosize 1
DATA_SOURCE 0 port $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 _T->lock

drivers/tty/serial/sprd_serial.c handle_lsr_errors() -> uart_handle_break()

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
DATA_SOURCE 0 port $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/meson_uart.c meson_receive_chars() -> uart_handle_break()

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
DATA_SOURCE 0 port $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 port->sysrq_ch 1-255[c]
LOCK2 0 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/stm32-usart.c stm32_usart_receive_chars_pio() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->ops->start_rx 0,4096-ptr_max
BUF_SIZE 0 port s32min-(-1),1-s32max
BUF_SIZE 0 port s32min-(-1),1-s32max
DATA_SOURCE 0 port $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 port->sysrq_ch 1-255[c]
UNITS 0 port unit_byte
HALF_LOCKED2 flags
HALF_LOCKED2 0 &port->lock

drivers/tty/serial/st-asc.c asc_receive_chars() -> uart_handle_break()

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
DATA_SOURCE 0 port $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/pch_uart.c pch_uart_hal_read() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
BUF_SIZE 0 port 616
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 port->sysrq_ch 1-255
LOCK2 &priv->port.lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/lpc32xx_hs.c serial_lpc32xx_interrupt() -> uart_handle_break()

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
DATA_SOURCE 0 port $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/8250/8250_port.c serial8250_read_char() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
BUF_SIZE 0 port 616
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 port->sysrq_ch 1-255
HALF_LOCKED2 &port->lock
HALF_LOCKED2 flags

drivers/tty/serial/imx.c __imx_uart_rxint() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sport->port.lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/imx.c imx_uart_clear_rx_errors() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cons 0,4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &sport->port.lock
HALF_LOCKED2 &bdma_chan->lock
HALF_LOCKED2 &ioat_chan->cleanup_lock
HALF_LOCKED2 &mv_chan->lock
HALF_LOCKED2 &pd_chan->lock
HALF_LOCKED2 &plxdev->ring_lock
HALF_LOCKED2 &swdma_chan->complete_lock
HALF_LOCKED2 &td_chan->lock
HALF_LOCKED2 bh
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/men_z135_uart.c men_z135_handle_lsr() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cons 0,4096-ptr_max
PARAM_VALUE 0 port->membase 0-ptr_max
BUF_SIZE 0 port 616
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 port->cons_flow 0-1
HOST_DATA 0 port->console_reinit 0-255
HOST_DATA 0 port->ctrl_id 0-u32max
HOST_DATA 0 port->custom_divisor 0-u32max
HOST_DATA 0 port->fifosize 0-u32max
HOST_DATA 0 port->flags 0-u64max
HOST_DATA 0 port->frame_time 0-u32max
HOST_DATA 0 port->has_sysrq 0-255
HOST_DATA 0 port->hub6 0-255
HOST_DATA 0 port->hw_stopped 0-1
HOST_DATA 0 port->icount.brk 0-u32max
HOST_DATA 0 port->icount.buf_overrun 0-u32max
HOST_DATA 0 port->icount.cts 0-u32max
HOST_DATA 0 port->icount.dcd 0-u32max
HOST_DATA 0 port->icount.dsr 0-u32max
HOST_DATA 0 port->icount.frame 0-u32max
HOST_DATA 0 port->icount.overrun 0-u32max
HOST_DATA 0 port->icount.parity 0-u32max
HOST_DATA 0 port->icount.rng 0-u32max
HOST_DATA 0 port->icount.rx 0-u32max
HOST_DATA 0 port->icount.tx 0-u32max
HOST_DATA 0 port->ignore_status_mask 0-u32max
HOST_DATA 0 port->iobase 0-u64max
HOST_DATA 0 port->iotype s32min-s32max
HOST_DATA 0 port->irq 0-u32max
HOST_DATA 0 port->irqflags 0-u64max
HOST_DATA 0 port->iso7816.clk 0-u32max
HOST_DATA 0 port->iso7816.flags 0-u32max
HOST_DATA 0 port->iso7816.sc_di 0-u32max
HOST_DATA 0 port->iso7816.sc_fi 0-u32max
HOST_DATA 0 port->iso7816.tg 0-u32max
HOST_DATA 0 port->line 0-u32max
HOST_DATA 0 port->mapbase 0-u64max
HOST_DATA 0 port->mapsize 0-u64max
HOST_DATA 0 port->mctrl 0-u32max
HOST_DATA 0 port->minor 0-u32max
HOST_DATA 0 port->port_id 0-u32max
HOST_DATA 0 port->quirks 0-255
HOST_DATA 0 port->read_status_mask 0-u32max
HOST_DATA 0 port->regshift 0-255
HOST_DATA 0 port->rs485.addr_dest 0-255
HOST_DATA 0 port->rs485.addr_recv 0-255
HOST_DATA 0 port->rs485.delay_rts_after_send 0-u32max
HOST_DATA 0 port->rs485.delay_rts_before_send 0-u32max
HOST_DATA 0 port->rs485.flags 0-u32max
HOST_DATA 0 port->rs485_supported.addr_dest 0-255
HOST_DATA 0 port->rs485_supported.addr_recv 0-255
HOST_DATA 0 port->rs485_supported.delay_rts_after_send 0-u32max
HOST_DATA 0 port->rs485_supported.delay_rts_before_send 0-u32max
HOST_DATA 0 port->rs485_supported.flags 0-u32max
HOST_DATA 0 port->status 0-u32max
HOST_DATA 0 port->suspended 0-255
HOST_DATA 0 port->sysrq 0-u64max
HOST_DATA 0 port->sysrq_ch 0-255
HOST_DATA 0 port->sysrq_seq 0-255
HOST_DATA 0 port->type 0-u32max
HOST_DATA 0 port->uartclk 0-u32max
HOST_DATA 0 port->x_char 0-255
LOCK2 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/ma35d1_serial.c receive_chars() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/tty/serial/xilinx_uartps.c cdns_uart_handle_rx() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->private_data 4096-ptr_max
DATA_SOURCE 0 port $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 port->sysrq_ch 1-255
LOCK2 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/xilinx_uartps.c cdns_uart_handle_rx() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->private_data 4096-ptr_max
DATA_SOURCE 0 port $0
BIT_INFO 0 port->read_status_mask 0x0,0xffffdfff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 port->sysrq_ch 1-255
LOCK2 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/mvebu-uart.c mvebu_uart_rx_chars() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
DATA_SOURCE 0 port $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/tty/serial/bcm63xx_uart.c bcm_uart_do_rx() -> uart_handle_break()

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
DATA_SOURCE 0 port $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 port->sysrq_ch 1-255[c]
LOCK2 0 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/qcom_geni_serial.c handle_rx_console() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->dev->cma_area->available_count 0-s64max
PARAM_VALUE 0 port->dev->cma_area->nranges s32min-s32max
PARAM_VALUE 0 port->dev->dma_io_tlb_mem->for_alloc 0-1
PARAM_VALUE 0 port->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 port->ops->poll_get_char 0,4096-ptr_max
PARAM_VALUE 0 port->ops->poll_init 0,4096-ptr_max
PARAM_VALUE 0 port->ops->poll_put_char 0,4096-ptr_max
PARAM_VALUE 0 port->ops->start_rx 0,4096-ptr_max
PARAM_VALUE 0 port->ops->stop_tx 0,4096-ptr_max
BUF_SIZE 0 port s32min-(-1),1-s32max
BUF_SIZE 0 port s32min-(-1),1-s32max
DATA_SOURCE 0 port $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 0 &port->lock

drivers/tty/serial/fsl_lpuart.c lpuart32_rxint() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cons 0,4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 port->sysrq_ch 1-255[c]
LOCK2 &sport->port.lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/fsl_lpuart.c lpuart_int() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags

drivers/tty/serial/fsl_linflexuart.c linflex_rxint() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cons 0,4096-ptr_max
DATA_SOURCE 0 port $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/samsung_tty.c s3c24xx_serial_rx_drain_fifo() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cons 0,4096-ptr_max
BUF_SIZE 0 port 616
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/msm_serial.c msm_complete_rx_dma() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cons 0,4096-ptr_max
PARAM_VALUE 0 port->dev->dma_io_tlb_lock.rlock.dep_map->name 0-255
BUF_SIZE 0 port 616
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &port->lock
HALF_LOCKED2 &bdma_chan->lock
HALF_LOCKED2 &ioat_chan->cleanup_lock
HALF_LOCKED2 &mv_chan->lock
HALF_LOCKED2 &pd_chan->lock
HALF_LOCKED2 &plxdev->ring_lock
HALF_LOCKED2 &swdma_chan->complete_lock
HALF_LOCKED2 &td_chan->lock
HALF_LOCKED2 bh
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/msm_serial.c msm_handle_rx() -> uart_handle_break()

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
DATA_SOURCE 0 port $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 port->sysrq_ch 1-255
LOCK2 0 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/msm_serial.c msm_handle_rx_dm() -> uart_handle_break()

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
DATA_SOURCE 0 port $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &port->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/omap-serial.c serial_omap_rlsi() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cons 0,4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 port->sysrq_ch 1-255
LOCK2 &up->port.lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/mxs-auart.c mxs_auart_rx_char() -> uart_handle_break()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->cons 0,4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &s->port.lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct uart_port)->lock

drivers/tty/serial/atmel_serial.c atmel_rx_from_ring() -> uart_handle_break()

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
BUF_SIZE 0 port 616
DATA_SOURCE 0 port $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &port->lock
HALF_LOCKED2 bh
TYPE_LOCK (struct uart_port)->lock