1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _SPEAKUP_SERIAL_H 3 #define _SPEAKUP_SERIAL_H 4 5 #include <linux/serial.h> /* for rs_table, serial constants */ 6 #include <linux/serial_reg.h> /* for more serial constants */ 7 #include <linux/serial_core.h> 8 9 #include "spk_priv.h" 10 11 /* 12 * this is cut&paste from 8250.h. Get rid of the structure, the definitions 13 * and this whole broken driver. 14 */ 15 struct old_serial_port { 16 unsigned int uart; /* unused */ 17 unsigned int baud_base; 18 unsigned int port; 19 unsigned int irq; 20 upf_t flags; /* unused */ 21 }; 22 23 /* countdown values for serial timeouts in us */ 24 #define SPK_SERIAL_TIMEOUT SPK_SYNTH_TIMEOUT 25 /* countdown values transmitter/dsr timeouts in us */ 26 #define SPK_XMITR_TIMEOUT 100000 27 /* countdown values cts timeouts in us */ 28 #define SPK_CTS_TIMEOUT 100000 29 /* check ttyS0 ... ttyS3 */ 30 #define SPK_LO_TTY 0 31 #define SPK_HI_TTY 3 32 /* # of timeouts permitted before disable */ 33 #define NUM_DISABLE_TIMEOUTS 3 34 /* buffer timeout in ms */ 35 #define SPK_TIMEOUT 100 36 #define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE) 37 38 #define spk_serial_tx_busy() \ 39 ((inb(speakup_info.port_tts + UART_LSR) & BOTH_EMPTY) != BOTH_EMPTY) 40 41 #endif 42