1 /* 2 * include/linux/serial.h 3 * 4 * Copyright (C) 1992 by Theodore Ts'o. 5 * 6 * Redistribution of this file is permitted under the terms of the GNU 7 * Public License (GPL) 8 */ 9 #ifndef _LINUX_SERIAL_H 10 #define _LINUX_SERIAL_H 11 12 #include <uapi/linux/serial.h> 13 #include <uapi/linux/serial_reg.h> 14 15 /* Helper for dealing with UART_LCR_WLEN* defines */ 16 #define UART_LCR_WLEN(x) ((x) - 5) 17 18 /* FIFO and shifting register empty */ 19 #define UART_LSR_BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE) 20 21 static inline bool uart_lsr_tx_empty(u16 lsr) 22 { 23 return (lsr & UART_LSR_BOTH_EMPTY) == UART_LSR_BOTH_EMPTY; 24 } 25 26 /* 27 * Counters of the input lines (CTS, DSR, RI, CD) interrupts 28 */ 29 30 struct async_icount { 31 __u32 cts, dsr, rng, dcd, tx, rx; 32 __u32 frame, parity, overrun, brk; 33 __u32 buf_overrun; 34 }; 35 36 #include <linux/compiler.h> 37 38 #endif /* _LINUX_SERIAL_H */ 39