diff options
Diffstat (limited to 'include/linux/serial_8250.h')
| -rw-r--r-- | include/linux/serial_8250.h | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h index a416e92012ef..c174c90fb3fb 100644 --- a/include/linux/serial_8250.h +++ b/include/linux/serial_8250.h | |||
| @@ -65,11 +65,38 @@ 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 | int serial8250_register_port(struct uart_port *); | ||
| 73 | void serial8250_unregister_port(int line); | 100 | void serial8250_unregister_port(int line); |
| 74 | void serial8250_suspend_port(int line); | 101 | void serial8250_suspend_port(int line); |
| 75 | void serial8250_resume_port(int line); | 102 | void serial8250_resume_port(int line); |
