Messages in this thread | | | Date | Tue, 10 Aug 2010 06:48:26 -0500 | From | Jason Wessel <> | Subject | Re: [PATCH] serial: Add CONSOLE_POLL support for uartlite |
| |
On 08/09/2010 05:07 AM, Michal Simek wrote: > CONSOLE_POLL support for uartlite enables > KGDB debugging over serial line. > > Signed-off-by: Michal Simek <monstr@monstr.eu> > --- > drivers/serial/uartlite.c | 26 +++++++++++++++++++++++++- > 1 files changed, 25 insertions(+), 1 deletions(-) > > diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c > index caf085d..ce1f3e0 100644 > --- a/drivers/serial/uartlite.c > +++ b/drivers/serial/uartlite.c > @@ -322,6 +322,26 @@ static int ulite_verify_port(struct uart_port *port, struct serial_struct *ser) > return -EINVAL; > } > > +#ifdef CONFIG_CONSOLE_POLL > +static int ulite_get_poll_char(struct uart_port *port) > +{ > + while (!(ioread32be(port->membase + ULITE_STATUS) > + & ULITE_STATUS_RXVALID)) > + cpu_relax(); > + > + return ioread32be(port->membase + ULITE_RX); > +}
After kdb was merged, the CONSOLE_POLL API had a subtle change where all I/O drivers should return immediately with a return of NO_POLL_CHAR in order to allow more than one I/O driver to operate in the same poll loop.
The patch should look like the following for the get_poll_char.
+static int ulite_get_poll_char(struct uart_port *port) +{ + if (!(ioread32be(port->membase + ULITE_STATUS) + & ULITE_STATUS_RXVALID)) + return NO_POLL_CHAR; + + return ioread32be(port->membase + ULITE_RX); +}
If you agree to the change you can add my SOB.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Cheers, Jason.
| |