Revert "serial-uartlite: Move the uart register"
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Nov 2019 22:29:08 +0000 (06:29 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Nov 2019 22:29:08 +0000 (06:29 +0800)
This reverts commit f33cf776617ba3b0f738cd70c31e0f62ea777a8d.

As Johan says, this driver needs a lot more work and these changes are
only going in the wrong direction:
    https://lkml.kernel.org/r/20190523091839.GC568@localhost

Reported-by: Johan Hovold <johan@kernel.org>
Cc: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/uartlite.c

index 7c68937..7dbd0c4 100644 (file)
@@ -763,15 +763,6 @@ static int ulite_probe(struct platform_device *pdev)
        if (prop)
                id = be32_to_cpup(prop);
 #endif
-       if (!ulite_uart_driver.state) {
-               dev_dbg(&pdev->dev, "uartlite: calling uart_register_driver()\n");
-               ret = uart_register_driver(&ulite_uart_driver);
-               if (ret < 0) {
-                       dev_err(&pdev->dev, "Failed to register driver\n");
-                       return ret;
-               }
-       }
-
        pdata = devm_kzalloc(&pdev->dev, sizeof(struct uartlite_data),
                             GFP_KERNEL);
        if (!pdata)
@@ -803,6 +794,15 @@ static int ulite_probe(struct platform_device *pdev)
                return ret;
        }
 
+       if (!ulite_uart_driver.state) {
+               dev_dbg(&pdev->dev, "uartlite: calling uart_register_driver()\n");
+               ret = uart_register_driver(&ulite_uart_driver);
+               if (ret < 0) {
+                       dev_err(&pdev->dev, "Failed to register driver\n");
+                       return ret;
+               }
+       }
+
        ret = ulite_assign(&pdev->dev, id, res->start, irq, pdata);
 
        clk_disable(pdata->clk);