1 /*
2  *  drivers/char/serial_tx3912.h
3  *
4  *  Copyright (C) 2001 Steven J. Hill (sjhill@realitydiluted.com)
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  *  Serial driver for TMPR3912/05 and PR31700 processors
11  */
12 #include <linux/serialP.h>
13 #include <linux/generic_serial.h>
14 
15 #undef TX3912_UART_DEBUG
16 
17 #ifdef TX3912_UART_DEBUG
18 #define TX3912_UART_DEBUG_OPEN		0x00000001
19 #define TX3912_UART_DEBUG_SETTING	0x00000002
20 #define TX3912_UART_DEBUG_FLOW		0x00000004
21 #define TX3912_UART_DEBUG_MODEMSIGNALS	0x00000008
22 #define TX3912_UART_DEBUG_TERMIOS	0x00000010
23 #define TX3912_UART_DEBUG_TRANSMIT	0x00000020
24 #define TX3912_UART_DEBUG_RECEIVE	0x00000040
25 #define TX3912_UART_DEBUG_INTERRUPTS	0x00000080
26 #define TX3912_UART_DEBUG_PROBE		0x00000100
27 #define TX3912_UART_DEBUG_INIT		0x00000200
28 #define TX3912_UART_DEBUG_CLEANUP	0x00000400
29 #define TX3912_UART_DEBUG_CLOSE		0x00000800
30 #define TX3912_UART_DEBUG_FIRMWARE	0x00001000
31 #define TX3912_UART_DEBUG_MEMTEST	0x00002000
32 #define TX3912_UART_DEBUG_THROTTLE	0x00004000
33 #define TX3912_UART_DEBUG_NO_TX		0xffffffdf
34 #define TX3912_UART_DEBUG_ALL		0xffffffff
35 
36 #define rs_dprintk(f, str...) if(TX3912_UART_DEBUG_NO_TX & f) printk(str)
37 #define func_enter() rs_dprintk(TX3912_UART_DEBUG_FLOW,		\
38 				"rs: enter " __FUNCTION__ "\n")
39 #define func_exit() rs_dprintk(TX3912_UART_DEBUG_FLOW,		\
40 				"rs: exit " __FUNCTION__ "\n")
41 #else
42 #define rs_dprintk(f, str...)
43 #define func_enter()
44 #define func_exit()
45 #endif
46 
47 /*
48  * Hardware specific serial port structure
49  */
50 struct rs_port {
51 	struct gs_port		gs;		/* Must be first field! */
52 	struct wait_queue	*shutdown_wait;
53 	int			stat_flags;
54 	struct async_icount	icount;		/* Counters for 4 input IRQs */
55 	int			read_status_mask;
56 	int			ignore_status_mask;
57 	int			x_char;		/* XON/XOFF character */
58 };
59