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 #define UART_IER_ALL_INTR (UART_IER_MSI | \ 16 UART_IER_RLSI | \ 17 UART_IER_THRI | \ 18 UART_IER_RDI) 19 20 /* Helper for dealing with UART_LCR_WLEN* defines */ 21 #define UART_LCR_WLEN(x) ((x) - 5) 22 23 /* FIFO and shifting register empty */ 24 #define UART_LSR_BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE) 25 26 static inline bool uart_lsr_tx_empty(u16 lsr) 27 { 28 return (lsr & UART_LSR_BOTH_EMPTY) == UART_LSR_BOTH_EMPTY; 29 } 30 31 /* 32 * Counters of the input lines (CTS, DSR, RI, CD) interrupts 33 */ 34 35 struct async_icount { 36 __u32 cts, dsr, rng, dcd, tx, rx; 37 __u32 frame, parity, overrun, brk; 38 __u32 buf_overrun; 39 }; 40 41 #include <linux/compiler.h> 42 43 #endif /* _LINUX_SERIAL_H */ 44