apbuart.c (734d1ece37fbf3d2ddfc71bc6c69e0fe35f02542) apbuart.c (2e124b4a390ca85325fae75764bef92f0547fa25)
1/*
2 * Driver for GRLIB serial ports (APBUART)
3 *
4 * Based on linux/drivers/serial/amba.c
5 *
6 * Copyright (C) 2000 Deep Blue Solutions Ltd.
7 * Copyright (C) 2003 Konrad Eisele <eiselekd@web.de>
8 * Copyright (C) 2006 Daniel Hellstrom <daniel@gaisler.com>, Aeroflex Gaisler AB

--- 64 unchanged lines hidden (view full) ---

73
74static void apbuart_enable_ms(struct uart_port *port)
75{
76 /* No modem status change interrupts for APBUART */
77}
78
79static void apbuart_rx_chars(struct uart_port *port)
80{
1/*
2 * Driver for GRLIB serial ports (APBUART)
3 *
4 * Based on linux/drivers/serial/amba.c
5 *
6 * Copyright (C) 2000 Deep Blue Solutions Ltd.
7 * Copyright (C) 2003 Konrad Eisele <eiselekd@web.de>
8 * Copyright (C) 2006 Daniel Hellstrom <daniel@gaisler.com>, Aeroflex Gaisler AB

--- 64 unchanged lines hidden (view full) ---

73
74static void apbuart_enable_ms(struct uart_port *port)
75{
76 /* No modem status change interrupts for APBUART */
77}
78
79static void apbuart_rx_chars(struct uart_port *port)
80{
81 struct tty_struct *tty = port->state->port.tty;
82 unsigned int status, ch, rsr, flag;
83 unsigned int max_chars = port->fifosize;
84
85 status = UART_GET_STATUS(port);
86
87 while (UART_RX_DATA(status) && (max_chars--)) {
88
89 ch = UART_GET_CHAR(port);

--- 31 unchanged lines hidden (view full) ---

121
122 uart_insert_char(port, rsr, UART_STATUS_OE, ch, flag);
123
124
125 ignore_char:
126 status = UART_GET_STATUS(port);
127 }
128
81 unsigned int status, ch, rsr, flag;
82 unsigned int max_chars = port->fifosize;
83
84 status = UART_GET_STATUS(port);
85
86 while (UART_RX_DATA(status) && (max_chars--)) {
87
88 ch = UART_GET_CHAR(port);

--- 31 unchanged lines hidden (view full) ---

120
121 uart_insert_char(port, rsr, UART_STATUS_OE, ch, flag);
122
123
124 ignore_char:
125 status = UART_GET_STATUS(port);
126 }
127
129 tty_flip_buffer_push(tty);
128 tty_flip_buffer_push(&port->state->port);
130}
131
132static void apbuart_tx_chars(struct uart_port *port)
133{
134 struct circ_buf *xmit = &port->state->xmit;
135 int count;
136
137 if (port->x_char) {

--- 560 unchanged lines hidden ---
129}
130
131static void apbuart_tx_chars(struct uart_port *port)
132{
133 struct circ_buf *xmit = &port->state->xmit;
134 int count;
135
136 if (port->x_char) {

--- 560 unchanged lines hidden ---