Skip to content

Commit

Permalink
[POWERPC] Add legacy serial support for OPB with flattened device tree
Browse files Browse the repository at this point in the history
Currently find_legacy_serial_ports() can find no serial ports on the
OPB with flattened device tree.  Thus no legacy boot console can be
initialized.  Just the early udbg console works, which is initialized
with udbg_init_44x_as1 on the UART's physical address specified in
kernel config.  This happens because we look for ns16750 serial
devices only and expect opb node to have a device type property.  This
patch makes it look for ns16550-compatible devices and use
of_device_is_compatible() for opb in case device type is not
specified.

Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Valentine Barshak authored and Paul Mackerras committed Oct 12, 2007
1 parent 1189be6 commit b63db45
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions arch/powerpc/kernel/legacy_serial.c
Original file line number Diff line number Diff line change
Expand Up @@ -340,9 +340,10 @@ void __init find_legacy_serial_ports(void)
}

/* First fill our array with opb bus ports */
for (np = NULL; (np = of_find_compatible_node(np, "serial", "ns16750")) != NULL;) {
for (np = NULL; (np = of_find_compatible_node(np, "serial", "ns16550")) != NULL;) {
struct device_node *opb = of_get_parent(np);
if (opb && !strcmp(opb->type, "opb")) {
if (opb && (!strcmp(opb->type, "opb") ||
of_device_is_compatible(opb, "ibm,opb"))) {
index = add_legacy_soc_port(np, np);
if (index >= 0 && np == stdout)
legacy_serial_console = index;
Expand Down

0 comments on commit b63db45

Please sign in to comment.