[PATCH] PCDP: handle tables that don't supply baud rate
The HCDP specs (i.e., PCDP revision < 3) allow zero as a default value for baud rate and data bits. So if firmware doesn't supply them, let early_serial_console_init() probe for them rather than telling it the baud rate is zero. Also, update the URL for the PCDP spec. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
bb93e3a52f
commit
280dedb8d6
|
@ -23,12 +23,15 @@ setup_serial_console(struct pcdp_uart *uart)
|
|||
{
|
||||
#ifdef CONFIG_SERIAL_8250_CONSOLE
|
||||
int mmio;
|
||||
static char options[64];
|
||||
static char options[64], *p = options;
|
||||
|
||||
mmio = (uart->addr.address_space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY);
|
||||
snprintf(options, sizeof(options), "console=uart,%s,0x%lx,%lun%d",
|
||||
mmio ? "mmio" : "io", uart->addr.address, uart->baud,
|
||||
uart->bits ? uart->bits : 8);
|
||||
p += sprintf(p, "console=uart,%s,0x%lx",
|
||||
mmio ? "mmio" : "io", uart->addr.address);
|
||||
if (uart->baud)
|
||||
p += sprintf(p, ",%lu", uart->baud);
|
||||
if (uart->bits)
|
||||
p += sprintf(p, "n%d", uart->bits);
|
||||
|
||||
return early_serial_console_init(options);
|
||||
#else
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* Definitions for PCDP-defined console devices
|
||||
*
|
||||
* v1.0a: http://www.dig64.org/specifications/DIG64_HCDPv10a_01.pdf
|
||||
* v2.0: http://www.dig64.org/specifications/DIG64_HCDPv20_042804.pdf
|
||||
* v2.0: http://www.dig64.org/specifications/DIG64_PCDPv20.pdf
|
||||
*
|
||||
* (c) Copyright 2002, 2004 Hewlett-Packard Development Company, L.P.
|
||||
* Khalid Aziz <khalid.aziz@hp.com>
|
||||
|
|
Loading…
Reference in New Issue