]> git.sur5r.net Git - u-boot/blobdiff - drivers/serial/serial-uclass.c
Convert CONFIG_SYS_STDIO_DEREGISTER to Kconfig
[u-boot] / drivers / serial / serial-uclass.c
index 1c447ff27aa17d12435c48b62df8e490dc55b1ae..43c028ebe63dfd22c72b5023ad79b6ec53fa59e7 100644 (file)
@@ -33,7 +33,13 @@ static void serial_find_console_or_panic(void)
        struct udevice *dev;
        int node;
 
-       if (CONFIG_IS_ENABLED(OF_CONTROL) && blob) {
+       if (CONFIG_IS_ENABLED(OF_PLATDATA)) {
+               uclass_first_device(UCLASS_SERIAL, &dev);
+               if (dev) {
+                       gd->cur_serial_dev = dev;
+                       return;
+               }
+       } else if (CONFIG_IS_ENABLED(OF_CONTROL) && blob) {
                /* Check for a chosen console */
                node = fdtdec_get_chosen_node(blob, "stdout-path");
                if (node < 0) {
@@ -115,7 +121,7 @@ int serial_init(void)
 /* Called after relocation */
 void serial_initialize(void)
 {
-       serial_find_console_or_panic();
+       serial_init();
 }
 
 static void _serial_putc(struct udevice *dev, char ch)
@@ -123,11 +129,12 @@ static void _serial_putc(struct udevice *dev, char ch)
        struct dm_serial_ops *ops = serial_get_ops(dev);
        int err;
 
+       if (ch == '\n')
+               _serial_putc(dev, '\r');
+
        do {
                err = ops->putc(dev, ch);
        } while (err == -EAGAIN);
-       if (ch == '\n')
-               _serial_putc(dev, '\r');
 }
 
 static void _serial_puts(struct udevice *dev, const char *str)
@@ -339,7 +346,7 @@ static int serial_post_probe(struct udevice *dev)
 
 static int serial_pre_remove(struct udevice *dev)
 {
-#ifdef CONFIG_SYS_STDIO_DEREGISTER
+#if CONFIG_IS_ENABLED(SYS_STDIO_DEREGISTER)
        struct serial_dev_priv *upriv = dev_get_uclass_priv(dev);
 
        if (stdio_deregister_dev(upriv->sdev, 0))