Root/
1 | /* |
2 | * generic_serial.h |
3 | * |
4 | * Copyright (C) 1998 R.E.Wolff@BitWizard.nl |
5 | * |
6 | * written for the SX serial driver. |
7 | * Contains the code that should be shared over all the serial drivers. |
8 | * |
9 | * Version 0.1 -- December, 1998. |
10 | */ |
11 | |
12 | #ifndef GENERIC_SERIAL_H |
13 | #define GENERIC_SERIAL_H |
14 | |
15 | #ifdef __KERNEL__ |
16 | #include <linux/mutex.h> |
17 | #include <linux/tty.h> |
18 | |
19 | struct real_driver { |
20 | void (*disable_tx_interrupts) (void *); |
21 | void (*enable_tx_interrupts) (void *); |
22 | void (*disable_rx_interrupts) (void *); |
23 | void (*enable_rx_interrupts) (void *); |
24 | void (*shutdown_port) (void*); |
25 | int (*set_real_termios) (void*); |
26 | int (*chars_in_buffer) (void*); |
27 | void (*close) (void*); |
28 | void (*hungup) (void*); |
29 | void (*getserial) (void*, struct serial_struct *sp); |
30 | }; |
31 | |
32 | |
33 | |
34 | struct gs_port { |
35 | int magic; |
36 | struct tty_port port; |
37 | unsigned char *xmit_buf; |
38 | int xmit_head; |
39 | int xmit_tail; |
40 | int xmit_cnt; |
41 | struct mutex port_write_mutex; |
42 | unsigned long event; |
43 | unsigned short closing_wait; |
44 | int close_delay; |
45 | struct real_driver *rd; |
46 | int wakeup_chars; |
47 | int baud_base; |
48 | int baud; |
49 | int custom_divisor; |
50 | spinlock_t driver_lock; |
51 | }; |
52 | |
53 | #endif /* __KERNEL__ */ |
54 | |
55 | /* Flags */ |
56 | /* Warning: serial.h defines some ASYNC_ flags, they say they are "only" |
57 | used in serial.c, but they are also used in all other serial drivers. |
58 | Make sure they don't clash with these here... */ |
59 | #define GS_TX_INTEN 0x00800000 |
60 | #define GS_RX_INTEN 0x00400000 |
61 | #define GS_ACTIVE 0x00200000 |
62 | |
63 | |
64 | |
65 | #define GS_TYPE_NORMAL 1 |
66 | |
67 | #define GS_DEBUG_FLUSH 0x00000001 |
68 | #define GS_DEBUG_BTR 0x00000002 |
69 | #define GS_DEBUG_TERMIOS 0x00000004 |
70 | #define GS_DEBUG_STUFF 0x00000008 |
71 | #define GS_DEBUG_CLOSE 0x00000010 |
72 | #define GS_DEBUG_FLOW 0x00000020 |
73 | #define GS_DEBUG_WRITE 0x00000040 |
74 | |
75 | #ifdef __KERNEL__ |
76 | int gs_put_char(struct tty_struct *tty, unsigned char ch); |
77 | int gs_write(struct tty_struct *tty, |
78 | const unsigned char *buf, int count); |
79 | int gs_write_room(struct tty_struct *tty); |
80 | int gs_chars_in_buffer(struct tty_struct *tty); |
81 | void gs_flush_buffer(struct tty_struct *tty); |
82 | void gs_flush_chars(struct tty_struct *tty); |
83 | void gs_stop(struct tty_struct *tty); |
84 | void gs_start(struct tty_struct *tty); |
85 | void gs_hangup(struct tty_struct *tty); |
86 | int gs_block_til_ready(void *port, struct file *filp); |
87 | void gs_close(struct tty_struct *tty, struct file *filp); |
88 | void gs_set_termios (struct tty_struct * tty, |
89 | struct ktermios * old_termios); |
90 | int gs_init_port(struct gs_port *port); |
91 | int gs_setserial(struct gs_port *port, struct serial_struct __user *sp); |
92 | int gs_getserial(struct gs_port *port, struct serial_struct __user *sp); |
93 | void gs_got_break(struct gs_port *port); |
94 | #endif /* __KERNEL__ */ |
95 | #endif |
96 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9