serial/arc-uart: platform_data order changed
authorVineet Gupta <Vineet.Gupta1@synopsys.com>
Fri, 11 Jan 2013 06:20:22 +0000 (11:50 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Jan 2013 06:15:48 +0000 (22:15 -0800)
* 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>
drivers/tty/serial/arc_uart.c

index 9de26ba48d20461facf62159b59598845d2a606a..2db64105677b1024b8e05889a93972d57078b1d9 100644 (file)
@@ -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;
 }