1
0
Fork 0

[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>
hifive-unleashed-5.1
Russell King 2005-09-03 15:30:21 +01:00 committed by Russell King
parent d274007461
commit 30b7a3bc13
1 changed files with 14 additions and 6 deletions

View File

@ -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