On Tue, 2008-07-01 at 10:52 -0700, John Linn wrote: > The legacy serial driver does not work with an 8250 > type UART that uses reg-offset and reg-shift. This > change updates the driver so it doesn't find the UART > when those properties are present on the UART in the > device tree for soc devices. > > Signed-off-by: John Linn <[EMAIL PROTECTED]> > Acked-by: Grant Likely <[EMAIL PROTECTED]> > --- > V2 > > Corrected logic to use "||" rather than "&&".
I have some problems with this patch: - First if the properties are present but their value match the register layout of a standard UART, we will bail out... not nice. - Why don't we just implement support for the reg-shift and offset instead ? Cheers, Ben. > arch/powerpc/kernel/legacy_serial.c | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/arch/powerpc/kernel/legacy_serial.c > b/arch/powerpc/kernel/legacy_serial.c > index 61dd174..cf37f5c 100644 > --- a/arch/powerpc/kernel/legacy_serial.c > +++ b/arch/powerpc/kernel/legacy_serial.c > @@ -136,6 +136,11 @@ static int __init add_legacy_soc_port(struct device_node > *np, > if (of_get_property(np, "clock-frequency", NULL) == NULL) > return -1; > > + /* if reg-shift or offset, don't try to use it */ > + if ((of_get_property(np, "reg-shift", NULL) != NULL) || > + (of_get_property(np, "reg-offset", NULL) != NULL)) > + return -1; > + > /* if rtas uses this device, don't try to use it as well */ > if (of_get_property(np, "used-by-rtas", NULL) != NULL) > return -1; _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev