* is_emulated is now 1st element, rather than last * also tucked all platform data refs together Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Cc: Alan Cox <alan@xxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx --- drivers/tty/serial/arc_uart.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/tty/serial/arc_uart.c b/drivers/tty/serial/arc_uart.c index 9de26ba..2db6410 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; } -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html