serial: liteuart: move function definitions
authorGabriel Somlo <gsomlo@gmail.com>
Wed, 23 Nov 2022 13:04:57 +0000 (08:04 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Jan 2023 13:59:40 +0000 (14:59 +0100)
Move definitions for liteuart_[stop|start]_tx(), liteuart_stop_rx(),
and liteuart_putchar() to a more convenient location in preparation
for adding IRQ support. This patch contains no functional changes.

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
Link: https://lore.kernel.org/r/20221123130500.1030189-12-gsomlo@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/liteuart.c

index ab6837f..0b9d96e 100644 (file)
@@ -68,6 +68,47 @@ static struct uart_driver liteuart_driver = {
 #endif
 };
 
+static void liteuart_putchar(struct uart_port *port, unsigned char ch)
+{
+       while (litex_read8(port->membase + OFF_TXFULL))
+               cpu_relax();
+
+       litex_write8(port->membase + OFF_RXTX, ch);
+}
+
+static void liteuart_stop_tx(struct uart_port *port)
+{
+}
+
+static void liteuart_start_tx(struct uart_port *port)
+{
+       struct circ_buf *xmit = &port->state->xmit;
+       unsigned char ch;
+
+       if (unlikely(port->x_char)) {
+               litex_write8(port->membase + OFF_RXTX, port->x_char);
+               port->icount.tx++;
+               port->x_char = 0;
+       } else if (!uart_circ_empty(xmit)) {
+               while (xmit->head != xmit->tail) {
+                       ch = xmit->buf[xmit->tail];
+                       uart_xmit_advance(port, 1);
+                       liteuart_putchar(port, ch);
+               }
+       }
+
+       if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
+               uart_write_wakeup(port);
+}
+
+static void liteuart_stop_rx(struct uart_port *port)
+{
+       struct liteuart_port *uart = to_liteuart_port(port);
+
+       /* just delete timer */
+       del_timer(&uart->timer);
+}
+
 static void liteuart_rx_chars(struct uart_port *port)
 {
        unsigned char __iomem *membase = port->membase;
@@ -98,14 +139,6 @@ static void liteuart_timer(struct timer_list *t)
        mod_timer(&uart->timer, jiffies + uart_poll_timeout(port));
 }
 
-static void liteuart_putchar(struct uart_port *port, unsigned char ch)
-{
-       while (litex_read8(port->membase + OFF_TXFULL))
-               cpu_relax();
-
-       litex_write8(port->membase + OFF_RXTX, ch);
-}
-
 static unsigned int liteuart_tx_empty(struct uart_port *port)
 {
        /* not really tx empty, just checking if tx is not full */
@@ -125,39 +158,6 @@ static unsigned int liteuart_get_mctrl(struct uart_port *port)
        return TIOCM_CTS | TIOCM_DSR | TIOCM_CAR;
 }
 
-static void liteuart_stop_tx(struct uart_port *port)
-{
-}
-
-static void liteuart_start_tx(struct uart_port *port)
-{
-       struct circ_buf *xmit = &port->state->xmit;
-       unsigned char ch;
-
-       if (unlikely(port->x_char)) {
-               litex_write8(port->membase + OFF_RXTX, port->x_char);
-               port->icount.tx++;
-               port->x_char = 0;
-       } else if (!uart_circ_empty(xmit)) {
-               while (xmit->head != xmit->tail) {
-                       ch = xmit->buf[xmit->tail];
-                       uart_xmit_advance(port, 1);
-                       liteuart_putchar(port, ch);
-               }
-       }
-
-       if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
-               uart_write_wakeup(port);
-}
-
-static void liteuart_stop_rx(struct uart_port *port)
-{
-       struct liteuart_port *uart = to_liteuart_port(port);
-
-       /* just delete timer */
-       del_timer(&uart->timer);
-}
-
 static int liteuart_startup(struct uart_port *port)
 {
        struct liteuart_port *uart = to_liteuart_port(port);