]> Pileus Git - ~andy/linux/blobdiff - drivers/tty/serial/altera_uart.c
Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[~andy/linux] / drivers / tty / serial / altera_uart.c
index 1d46966e2a65cc742c8d8920fe8004d4bcad3a48..501667e3e3f51209647d75ba1a08ea4617ffca11 100644 (file)
@@ -231,7 +231,9 @@ static void altera_uart_rx_chars(struct altera_uart *pp)
                                 flag);
        }
 
+       spin_unlock(&port->lock);
        tty_flip_buffer_push(&port->state->port);
+       spin_lock(&port->lock);
 }
 
 static void altera_uart_tx_chars(struct altera_uart *pp)
@@ -534,7 +536,7 @@ static int altera_uart_get_of_uartclk(struct platform_device *pdev,
 
 static int altera_uart_probe(struct platform_device *pdev)
 {
-       struct altera_uart_platform_uart *platp = pdev->dev.platform_data;
+       struct altera_uart_platform_uart *platp = dev_get_platdata(&pdev->dev);
        struct uart_port *port;
        struct resource *res_mem;
        struct resource *res_irq;
@@ -613,6 +615,7 @@ static int altera_uart_remove(struct platform_device *pdev)
 #ifdef CONFIG_OF
 static struct of_device_id altera_uart_match[] = {
        { .compatible = "ALTR,uart-1.0", },
+       { .compatible = "altr,uart-1.0", },
        {},
 };
 MODULE_DEVICE_TABLE(of, altera_uart_match);