Subject: Re: [PATCH] PowerPC: Fix find_legacy_serial_ports on OPB.

From: Josh Boyer <[email-masked]>
Date: Thu, 11 Oct 2007 10:53:48 -0500

On Thu, 2007-10-11 at 17:50 +0200, Arnd Bergmann wrote:
> On Thursday 11 October 2007, Valentine Barshak wrote:
> > Currently find_legacy_serial_ports() can find no serial ports on the OPB.
> > 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
> > and higher 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 instead of checking device type.
> > Lack of legacy serial ports found causes problems for KGDB over serial.
> > 
> > Signed-off-by: Valentine Barshak <[email-masked]>
> 
> The patch would make sense if we were only dealing with flattened device
> tree systems at this point. Unfortunately, IBM is shipping hardware that
> encodes the serial port in exactly the way that find_legacy_serial_ports
> is looking for (parent->type == "opb", compatible = "ns16750" "ns16550"
> "ns16450" i8250").
> 
> Changing the search for ns16750 to ns16550 should be fine, but unnecessary
> because AFAIK, all OPB serial imlpementations are actually ns16750 and
> should have that in the device tree as well.
> 
> For the device type of the bus, please check for both compatible and
> type, so that it still works on machines that are missing the compatible
> property.

Wait, no.  We already had this discussion months ago when David was
working on the original Ebony port.  It was declared that legacy_serial
is not how serial should be done on 4xx and the serial_of driver was
supposed to be used instead.

Have we changed our stance on that?  If not, then perhaps KGDB should be
fixed to work with serial_of.

josh