On Sat, 12 Nov 2022, Gabriel Somlo wrote: > Convert the rx loop into its own dedicated function, and (for now) > call it from the poll timer. This is in preparation for adding irq > support to the receive path. > > Signed-off-by: Gabriel Somlo <gsomlo@xxxxxxxxx> > --- > drivers/tty/serial/liteuart.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/tty/serial/liteuart.c b/drivers/tty/serial/liteuart.c > index 974da0f73257..172ac190ba2f 100644 > --- a/drivers/tty/serial/liteuart.c > +++ b/drivers/tty/serial/liteuart.c > @@ -67,10 +67,8 @@ static struct uart_driver liteuart_driver = { > #endif > }; > > -static void liteuart_timer(struct timer_list *t) > +static void liteuart_rx_chars(struct uart_port *port) > { > - struct liteuart_port *uart = from_timer(uart, t, timer); > - struct uart_port *port = &uart->port; > unsigned char __iomem *membase = port->membase; > unsigned int status, ch; > > @@ -87,6 +85,14 @@ static void liteuart_timer(struct timer_list *t) > } > > tty_flip_buffer_push(&port->state->port); > +} > + > +static void liteuart_timer(struct timer_list *t) > +{ > + struct liteuart_port *uart = from_timer(uart, t, timer); > + struct uart_port *port = &uart->port; > + > + liteuart_rx_chars(port); > > mod_timer(&uart->timer, jiffies + uart_poll_timeout(port)); > } Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> -- i.