Thread (5 messages) flat view 5 messages, 4 authors, 2008-07-07

Re: [PATCH] [V2] powerpc: legacy_serial: reg-offset & shift aren't used

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2008-07-07 06:47:48

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 <redacted>
Acked-by: Grant Likely <redacted>
---
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.
quoted hunk ↗ jump to hunk
 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;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help