diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-09-03 14:30:21 (GMT) |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-09-03 14:30:21 (GMT) |
commit | 30b7a3bc133c5b4a723163be35157ed709fca91c (patch) | |
tree | fbd56e4acffb5d4ec271b9b4fc6506e6098bca44 | |
parent | d27400746189f3b5194b49575833ea660c430118 (diff) | |
download | linux-30b7a3bc133c5b4a723163be35157ed709fca91c.tar.xz |
[SERIAL] Prefix serial printks with KERN_INFO and pre-format
Pre-format the IO part of the ttyS printks, and prefix them with
KERN_INFO to avoid bootsplash corruption.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | drivers/serial/serial_core.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c index dea156a..2d8622e 100644 --- a/drivers/serial/serial_core.c +++ b/drivers/serial/serial_core.c @@ -1947,21 +1947,29 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *port) static inline void uart_report_port(struct uart_driver *drv, struct uart_port *port) { - printk("%s%d", drv->dev_name, port->line); - printk(" at "); + char address[64]; + switch (port->iotype) { case UPIO_PORT: - printk("I/O 0x%x", port->iobase); + snprintf(address, sizeof(address), + "I/O 0x%x", port->iobase); break; case UPIO_HUB6: - printk("I/O 0x%x offset 0x%x", port->iobase, port->hub6); + snprintf(address, sizeof(address), + "I/O 0x%x offset 0x%x", port->iobase, port->hub6); break; case UPIO_MEM: case UPIO_MEM32: - printk("MMIO 0x%lx", port->mapbase); + snprintf(address, sizeof(address), + "MMIO 0x%lx", port->mapbase); + break; + default: + strlcpy(address, "*unknown*", sizeof(address)); break; } - printk(" (irq = %d) is a %s\n", port->irq, uart_type(port)); + + printk(KERN_INFO "%s%d at %s (irq = %d) is a %s\n", + drv->dev_name, port->line, address, port->irq, uart_type(port)); } static void |