atmel_serial.c (61b7369483efb5e0a9f3b48e75fac00d46d661e0) atmel_serial.c (fd2b55f86b8b25afc5b6e7dff53dddb3fd0dd211)
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Driver for Atmel AT91 Serial ports
4 * Copyright (C) 2003 Rick Bronson
5 *
6 * Based on drivers/char/serial_sa1100.c, by Deep Blue Solutions Ltd.
7 * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
8 *

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

1511
1512 return 0;
1513}
1514
1515static void atmel_rx_from_ring(struct uart_port *port)
1516{
1517 struct atmel_uart_port *atmel_port = to_atmel_uart_port(port);
1518 struct circ_buf *ring = &atmel_port->rx_ring;
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Driver for Atmel AT91 Serial ports
4 * Copyright (C) 2003 Rick Bronson
5 *
6 * Based on drivers/char/serial_sa1100.c, by Deep Blue Solutions Ltd.
7 * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
8 *

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

1511
1512 return 0;
1513}
1514
1515static void atmel_rx_from_ring(struct uart_port *port)
1516{
1517 struct atmel_uart_port *atmel_port = to_atmel_uart_port(port);
1518 struct circ_buf *ring = &atmel_port->rx_ring;
1519 unsigned int flg;
1520 unsigned int status;
1519 unsigned int status;
1520 u8 flg;
1521
1522 while (ring->head != ring->tail) {
1523 struct atmel_uart_char c;
1524
1525 /* Make sure c is loaded after head. */
1526 smp_rmb();
1527
1528 c = ((struct atmel_uart_char *)ring->buf)[ring->tail];

--- 1527 unchanged lines hidden ---
1521
1522 while (ring->head != ring->tail) {
1523 struct atmel_uart_char c;
1524
1525 /* Make sure c is loaded after head. */
1526 smp_rmb();
1527
1528 c = ((struct atmel_uart_char *)ring->buf)[ring->tail];

--- 1527 unchanged lines hidden ---