summaryrefslogtreecommitdiff
path: root/drivers/tty/serial/arc_uart.c
diff options
context:
space:
mode:
authorVineet Gupta <Vineet.Gupta1@synopsys.com>2013-01-11 10:20:22 +0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-16 10:15:48 +0400
commitd6c0d06b341803fde45e592df4233579f3afb04e (patch)
tree62022d52d4f1d0d48425eb37bc0b3e484b5922ea /drivers/tty/serial/arc_uart.c
parente163d1f42bc2089efae58b4966287c4d3504d4c7 (diff)
downloadlinux-d6c0d06b341803fde45e592df4233579f3afb04e.tar.xz
serial/arc-uart: platform_data order changed
* is_emulated is now 1st element, rather than last * also tucked all platform data refs together Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Cc: Alan Cox <alan@linux.intel.com> Cc: Jiri Slaby <jslaby@suse.cz> Cc: linux-serial@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/arc_uart.c')
-rw-r--r--drivers/tty/serial/arc_uart.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/tty/serial/arc_uart.c b/drivers/tty/serial/arc_uart.c
index 9de26ba48d20..2db64105677b 100644
--- a/drivers/tty/serial/arc_uart.c
+++ b/drivers/tty/serial/arc_uart.c
@@ -533,7 +533,12 @@ arc_uart_init_one(struct platform_device *pdev, int dev_id)
struct arc_uart_port *uart = &arc_uart_ports[dev_id];
plat_data = ((unsigned long *)(pdev->dev.platform_data));
- uart->baud = plat_data[0];
+ if (!plat_data)
+ return -ENODEV;
+
+ uart->is_emulated = !!plat_data[0]; /* workaround ISS bug */
+ uart->port.uartclk = plat_data[1];
+ uart->baud = plat_data[2];
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res)
@@ -556,7 +561,6 @@ arc_uart_init_one(struct platform_device *pdev, int dev_id)
uart->port.line = dev_id;
uart->port.ops = &arc_serial_pops;
- uart->port.uartclk = plat_data[1];
uart->port.fifosize = ARC_UART_TX_FIFO_SIZE;
/*
@@ -565,9 +569,6 @@ arc_uart_init_one(struct platform_device *pdev, int dev_id)
*/
uart->port.ignore_status_mask = 0;
- /* Real Hardware vs. emulated to work around a bug */
- uart->is_emulated = !!plat_data[2];
-
return 0;
}