diff options
Diffstat (limited to 'include/linux/serial_8250.h')
-rw-r--r-- | include/linux/serial_8250.h | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h index f41dcc949218..c174c90fb3fb 100644 --- a/include/linux/serial_8250.h +++ b/include/linux/serial_8250.h | |||
@@ -65,8 +65,36 @@ enum { | |||
65 | * platform device. Using these will make your driver | 65 | * platform device. Using these will make your driver |
66 | * dependent on the 8250 driver. | 66 | * dependent on the 8250 driver. |
67 | */ | 67 | */ |
68 | struct uart_port; | 68 | |
69 | struct uart_8250_port; | 69 | struct uart_8250_port { |
70 | struct uart_port port; | ||
71 | struct timer_list timer; /* "no irq" timer */ | ||
72 | struct list_head list; /* ports on this IRQ */ | ||
73 | unsigned short capabilities; /* port capabilities */ | ||
74 | unsigned short bugs; /* port bugs */ | ||
75 | unsigned int tx_loadsz; /* transmit fifo load size */ | ||
76 | unsigned char acr; | ||
77 | unsigned char ier; | ||
78 | unsigned char lcr; | ||
79 | unsigned char mcr; | ||
80 | unsigned char mcr_mask; /* mask of user bits */ | ||
81 | unsigned char mcr_force; /* mask of forced bits */ | ||
82 | unsigned char cur_iotype; /* Running I/O type */ | ||
83 | |||
84 | /* | ||
85 | * Some bits in registers are cleared on a read, so they must | ||
86 | * be saved whenever the register is read but the bits will not | ||
87 | * be immediately processed. | ||
88 | */ | ||
89 | #define LSR_SAVE_FLAGS UART_LSR_BRK_ERROR_BITS | ||
90 | unsigned char lsr_saved_flags; | ||
91 | #define MSR_SAVE_FLAGS UART_MSR_ANY_DELTA | ||
92 | unsigned char msr_saved_flags; | ||
93 | |||
94 | /* 8250 specific callbacks */ | ||
95 | int (*dl_read)(struct uart_8250_port *); | ||
96 | void (*dl_write)(struct uart_8250_port *, int); | ||
97 | }; | ||
70 | 98 | ||
71 | int serial8250_register_8250_port(struct uart_8250_port *); | 99 | int serial8250_register_8250_port(struct uart_8250_port *); |
72 | void serial8250_unregister_port(int line); | 100 | void serial8250_unregister_port(int line); |