Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 280dedb8 authored by Bjorn Helgaas's avatar Bjorn Helgaas Committed by Linus Torvalds
Browse files

[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: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent bb93e3a5
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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>