Thread (20 messages) 20 messages, 6 authors, 2009-11-22

Re: Bug in drivers/serial/of_serial.c?

From: Arnd Bergmann <arnd@arndb.de>
Date: 2009-11-19 13:01:45

On Thursday 19 November 2009, Alon Ziv wrote:
On Monday, November 16, 2009, Arnd wrote:
quoted
quoted
-       { .type = "serial", .compatible = "ns16550",  .data = (void
*)PORT_16550, },
quoted
quoted
+       { .type = "serial", .compatible = "ns16550",  .data = (void
*)PORT_16550A, },
quoted
Does not seem logical. If the device claims compatibility with
ns16550, we should
quoted
not automatically assume it's an ns16550a. Why not add another line
for 
quoted
Unfortunately, there is no way to change what the device claims--it's
encoded into the OpenFirmware tree by the EDK tools.
And, in any case, the device is actually not lying: it is compatible
with NS16550--just with a non-buggy one.  Unfortunately the kernel
driver for 8250-class UARTs makes the conservative choice to assume any
16550 is one of the (early, buggy) revisions where the FIFO was
non-functional; any 16550 with working UART is classed as a 16550A.
In that case, add another entry for the device encoded in the firmware
itself. The ns16550 entry should be the second one after a more specific
one telling which device it is exactly.

	Arnd <><
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help