"Michal" == Michal Simek <monstr@xxxxxxxxx> writes:
Michal> CONSOLE_POLL support for uartlite enables
Michal> KGDB debugging over serial line.
Please CC me on uartlite patches in the future, thanks.
Michal> Signed-off-by: Michal Simek <monstr@xxxxxxxxx>
Michal> Signed-off-by: Jason Wessel <jason.wessel@xxxxxxxxxxxxx>
Michal> ---
Michal> drivers/serial/uartlite.c | 26 +++++++++++++++++++++++++-
Michal> 1 files changed, 25 insertions(+), 1 deletions(-)
Michal> diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c
Michal> index 9b03d7b..c0fae0d 100644
Michal> --- a/drivers/serial/uartlite.c
Michal> +++ b/drivers/serial/uartlite.c
Michal> @@ -322,6 +322,26 @@ static int ulite_verify_port(struct uart_port *port, struct serial_struct *ser)
Michal> return -EINVAL;
Michal> }
Michal> +#ifdef CONFIG_CONSOLE_POLL
Michal> +static int ulite_get_poll_char(struct uart_port *port)
Michal> +{
Michal> + while (!(ioread32be(port->membase + ULITE_STATUS)
Michal> + & ULITE_STATUS_RXVALID))
Michal> + return NO_POLL_CHAR;
Michal> +
Using while instead of 'if' is imho pretty obscure here.
Michal> + return ioread32be(port->membase + ULITE_RX);
Michal> +}
Michal> +
Michal> +static void ulite_put_poll_char(struct uart_port *port, unsigned char ch)
Michal> +{
Michal> + while (ioread32be(port->membase + ULITE_STATUS) & ULITE_STATUS_TXFULL)
Michal> + cpu_relax();
You could reuse ulite_console_wait_tx() like ulite_console_putchar()
does.
Otherwise it looks fine.
Acked-by: Peter Korsgaard <jacmet@xxxxxxxxxx>