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

Reply via email to