[PATCH] [V2] powerpc: legacy_serial: reg-offset & shift aren't used
Benjamin Herrenschmidt
benh at kernel.crashing.org
Mon Jul 7 16:47:08 EST 2008
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 <john.linn at xilinx.com>
> Acked-by: Grant Likely <grant.likely at secretlab.ca>
> ---
> 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;
More information about the Linuxppc-dev
mailing list