Bug in drivers/serial/of_serial.c?
Alon Ziv
alonz at discretix.com
Sun Nov 15 20:30:40 EST 2009
As of commit eedacbf0, drivers/serial/of_serial.c forces the serial core
to recognize the xps-uart16550-2.00.b as an NS16550 (which had no FIFO).
Prior to this commit, the kernel's auto-configuration logic would
correctly recognize the UART as NS16550A (with 16-byte FIFO).
The following patch corrects the issue in what I believe to be the
correct way:
---
Xilinx 16550 UART is actually 16550A-compatible
diff --git a/drivers/serial/of_serial.c b/drivers/serial/of_serial.c
index 02406ba..78267af 100644
--- a/drivers/serial/of_serial.c
+++ b/drivers/serial/of_serial.c
@@ -161,7 +161,7 @@ static int of_platform_serial_remove(struct
of_device *ofdev)
static struct of_device_id __devinitdata of_platform_serial_table[] = {
{ .type = "serial", .compatible = "ns8250", .data = (void
*)PORT_8250, },
{ .type = "serial", .compatible = "ns16450", .data = (void
*)PORT_16450, },
- { .type = "serial", .compatible = "ns16550", .data = (void
*)PORT_16550, },
+ { .type = "serial", .compatible = "ns16550", .data = (void
*)PORT_16550A, },
{ .type = "serial", .compatible = "ns16750", .data = (void
*)PORT_16750, },
{ .type = "serial", .compatible = "ns16850", .data = (void
*)PORT_16850, },
#ifdef CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL
**********************************************************************************************
IMPORTANT: The contents of this email and any attachments are confidential. They are intended for the
named recipient(s) only.
If you have received this email in error, please notify the system manager or the sender immediately and do
not disclose the contents to anyone or make copies thereof.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 03-of_serial-16550A.patch
Type: application/octet-stream
Size: 1018 bytes
Desc: 03-of_serial-16550A.patch
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20091115/6c0374c8/attachment.obj>
More information about the Linuxppc-dev
mailing list