Messages in this thread | | | Date | Fri, 6 Mar 2009 14:37:49 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 01/18] Blackfin Serial Driver: Add a debug function to serial driver. |
| |
On Fri, 6 Mar 2009 14:42:43 +0800 Bryan Wu <cooloney@kernel.org> wrote:
> From: Graf Yang <graf.yang@analog.com> > > Signed-off-by: Graf Yang <graf.yang@analog.com> > Signed-off-by: Bryan Wu <cooloney@kernel.org> > --- > drivers/serial/bfin_5xx.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 44 insertions(+), 0 deletions(-) > > diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c > index 318d69d..52ccc27 100644 > --- a/drivers/serial/bfin_5xx.c > +++ b/drivers/serial/bfin_5xx.c > @@ -21,6 +21,7 @@ > #include <linux/tty.h> > #include <linux/tty_flip.h> > #include <linux/serial_core.h> > +#include <stdarg.h> > > #if defined(CONFIG_KGDB_SERIAL_CONSOLE) || \ > defined(CONFIG_KGDB_SERIAL_CONSOLE_MODULE) > @@ -1177,6 +1178,49 @@ struct console __init *bfin_earlyserial_init(unsigned int port, > > #endif /* CONFIG_EARLY_PRINTK */ > > +#ifdef CONFIG_DEBUG_KERNEL > +void bfin_serial_debug(const char *fmt, ...) > +{ > + struct bfin_serial_port *uart = &bfin_serial_ports[0]; > + unsigned short status, tmp; > + int flags, i, count; > + char buf[128]; > + va_list ap; > + > + if (bfin_serial_console.index < 0) > + return; /* Too early. */ > + > + va_start(ap, fmt); > + vsprintf(buf, fmt, ap); > + va_end(ap); > + count = strlen(buf); > + > + spin_lock_irqsave(&uart->port.lock, flags); > + > + for (i = 0; i < count; i++) { > + do { > + status = UART_GET_LSR(uart); > + } while (!(status & THRE)); > + > +#ifndef CONFIG_BF54x > + tmp = UART_GET_LCR(uart); > + tmp &= ~DLAB; > + UART_PUT_LCR(uart, tmp); > +#endif > + UART_PUT_CHAR(uart, buf[i]); > + if (buf[i] == '\n') { > + do { > + status = UART_GET_LSR(uart); > + } while (!(status & THRE)); > + UART_PUT_CHAR(uart, '\r'); > + } > + } > + > + spin_unlock_irqrestore(&uart->port.lock, flags); > +} > +EXPORT_SYMBOL(bfin_serial_debug); > +#endif
This function is used in later bugfix patches - otherwise it wouldn't be a 2.6.29 patch.
I shall update the changelog to reflect this.
| |