Re: [PATCH] serial: Add CONSOLE_POLL support for uartlite

From: Michal Simek
Date: Mon Aug 23 2010 - 04:47:23 EST


Peter Korsgaard wrote:
"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.

Oou sorry.


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.

Agree that if is the better solution.


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.

yes, but ulite_console_wait_tx is used only when uartlite console is used. Not sure if I tried to setup console and KGDB but in this case I will have to add some ifdef that's why was easier for me to write on ioread.


Otherwise it looks fine.

Acked-by: Peter Korsgaard <jacmet@xxxxxxxxxx>


I will changed driver and send v2.

Thanks,
Michal



--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/