diff options
Diffstat (limited to 'drivers/serial/mcfserial.h')
-rw-r--r-- | drivers/serial/mcfserial.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/drivers/serial/mcfserial.h b/drivers/serial/mcfserial.h new file mode 100644 index 000000000000..a2b28e8629f9 --- /dev/null +++ b/drivers/serial/mcfserial.h | |||
@@ -0,0 +1,75 @@ | |||
1 | /* | ||
2 | * mcfserial.c -- serial driver for ColdFire internal UARTS. | ||
3 | * | ||
4 | * Copyright (c) 1999 Greg Ungerer <gerg@snapgear.com> | ||
5 | * Copyright (c) 2000-2001 Lineo, Inc. <www.lineo.com> | ||
6 | * Copyright (c) 2002 SnapGear Inc., <www.snapgear.com> | ||
7 | * | ||
8 | * Based on code from 68332serial.c which was: | ||
9 | * | ||
10 | * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) | ||
11 | * Copyright (C) 1998 TSHG | ||
12 | * Copyright (c) 1999 Rt-Control Inc. <jeff@uclinux.org> | ||
13 | */ | ||
14 | #ifndef _MCF_SERIAL_H | ||
15 | #define _MCF_SERIAL_H | ||
16 | |||
17 | #include <linux/config.h> | ||
18 | #include <linux/serial.h> | ||
19 | |||
20 | #ifdef __KERNEL__ | ||
21 | |||
22 | /* | ||
23 | * Define a local serial stats structure. | ||
24 | */ | ||
25 | |||
26 | struct mcf_stats { | ||
27 | unsigned int rx; | ||
28 | unsigned int tx; | ||
29 | unsigned int rxbreak; | ||
30 | unsigned int rxframing; | ||
31 | unsigned int rxparity; | ||
32 | unsigned int rxoverrun; | ||
33 | }; | ||
34 | |||
35 | |||
36 | /* | ||
37 | * This is our internal structure for each serial port's state. | ||
38 | * Each serial port has one of these structures associated with it. | ||
39 | */ | ||
40 | |||
41 | struct mcf_serial { | ||
42 | int magic; | ||
43 | volatile unsigned char *addr; /* UART memory address */ | ||
44 | int irq; | ||
45 | int flags; /* defined in tty.h */ | ||
46 | int type; /* UART type */ | ||
47 | struct tty_struct *tty; | ||
48 | unsigned char imr; /* Software imr register */ | ||
49 | unsigned int baud; | ||
50 | int sigs; | ||
51 | int custom_divisor; | ||
52 | int x_char; /* xon/xoff character */ | ||
53 | int baud_base; | ||
54 | int close_delay; | ||
55 | unsigned short closing_wait; | ||
56 | unsigned short closing_wait2; | ||
57 | unsigned long event; | ||
58 | int line; | ||
59 | int count; /* # of fd on device */ | ||
60 | int blocked_open; /* # of blocked opens */ | ||
61 | unsigned char *xmit_buf; | ||
62 | int xmit_head; | ||
63 | int xmit_tail; | ||
64 | int xmit_cnt; | ||
65 | struct mcf_stats stats; | ||
66 | struct work_struct tqueue; | ||
67 | struct work_struct tqueue_hangup; | ||
68 | wait_queue_head_t open_wait; | ||
69 | wait_queue_head_t close_wait; | ||
70 | |||
71 | }; | ||
72 | |||
73 | #endif /* __KERNEL__ */ | ||
74 | |||
75 | #endif /* _MCF_SERIAL_H */ | ||