Deleted Added
full compact
uart_dev_ns8250.c (158849) uart_dev_ns8250.c (166100)
1/*-
2 * Copyright (c) 2003 Marcel Moolenaar
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *

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

20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26
27#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2003 Marcel Moolenaar
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *

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

20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26
27#include <sys/cdefs.h>
28__FBSDID("$FreeBSD: head/sys/dev/uart/uart_dev_ns8250.c 158849 2006-05-23 06:04:45Z benno $");
28__FBSDID("$FreeBSD: head/sys/dev/uart/uart_dev_ns8250.c 166100 2007-01-18 22:01:19Z marius $");
29
30#include <sys/param.h>
31#include <sys/systm.h>
32#include <sys/bus.h>
33#include <sys/conf.h>
34#include <machine/bus.h>
35
36#include <dev/uart/uart.h>

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

212
213/*
214 * Low-level UART interface.
215 */
216static int ns8250_probe(struct uart_bas *bas);
217static void ns8250_init(struct uart_bas *bas, int, int, int, int);
218static void ns8250_term(struct uart_bas *bas);
219static void ns8250_putc(struct uart_bas *bas, int);
29
30#include <sys/param.h>
31#include <sys/systm.h>
32#include <sys/bus.h>
33#include <sys/conf.h>
34#include <machine/bus.h>
35
36#include <dev/uart/uart.h>

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

212
213/*
214 * Low-level UART interface.
215 */
216static int ns8250_probe(struct uart_bas *bas);
217static void ns8250_init(struct uart_bas *bas, int, int, int, int);
218static void ns8250_term(struct uart_bas *bas);
219static void ns8250_putc(struct uart_bas *bas, int);
220static int ns8250_poll(struct uart_bas *bas);
220static int ns8250_rxready(struct uart_bas *bas);
221static int ns8250_getc(struct uart_bas *bas, struct mtx *);
222
223struct uart_ops uart_ns8250_ops = {
224 .probe = ns8250_probe,
225 .init = ns8250_init,
226 .term = ns8250_term,
227 .putc = ns8250_putc,
221static int ns8250_getc(struct uart_bas *bas, struct mtx *);
222
223struct uart_ops uart_ns8250_ops = {
224 .probe = ns8250_probe,
225 .init = ns8250_init,
226 .term = ns8250_term,
227 .putc = ns8250_putc,
228 .poll = ns8250_poll,
228 .rxready = ns8250_rxready,
229 .getc = ns8250_getc,
230};
231
232static int
233ns8250_probe(struct uart_bas *bas)
234{
235 u_char val;
236

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

294 uart_setreg(bas, REG_DATA, c);
295 uart_barrier(bas);
296 limit = 40;
297 while ((uart_getreg(bas, REG_LSR) & LSR_TEMT) == 0 && --limit)
298 DELAY(delay);
299}
300
301static int
229 .getc = ns8250_getc,
230};
231
232static int
233ns8250_probe(struct uart_bas *bas)
234{
235 u_char val;
236

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

294 uart_setreg(bas, REG_DATA, c);
295 uart_barrier(bas);
296 limit = 40;
297 while ((uart_getreg(bas, REG_LSR) & LSR_TEMT) == 0 && --limit)
298 DELAY(delay);
299}
300
301static int
302ns8250_poll(struct uart_bas *bas)
302ns8250_rxready(struct uart_bas *bas)
303{
304
303{
304
305 if (uart_getreg(bas, REG_LSR) & LSR_RXRDY)
306 return (uart_getreg(bas, REG_DATA));
307 return (-1);
305 return ((uart_getreg(bas, REG_LSR) & LSR_RXRDY) != 0 ? 1 : 0);
308}
309
310static int
311ns8250_getc(struct uart_bas *bas, struct mtx *hwmtx)
312{
313 int c, delay;
314
315 uart_lock(hwmtx);

--- 507 unchanged lines hidden ---
306}
307
308static int
309ns8250_getc(struct uart_bas *bas, struct mtx *hwmtx)
310{
311 int c, delay;
312
313 uart_lock(hwmtx);

--- 507 unchanged lines hidden ---