]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/serial/serial-uclass.c
dm: serial: consolidate common code more
[karo-tx-uboot.git] / drivers / serial / serial-uclass.c
index 8bea715b49fb7ffb45e36165dfccbd087f139e5f..71f1a5cb91024e9fc473e2a5e61f0deb82efd3c1 100644 (file)
@@ -83,7 +83,7 @@ void serial_initialize(void)
        serial_find_console_or_panic();
 }
 
-static void serial_putc_dev(struct udevice *dev, char ch)
+static void _serial_putc(struct udevice *dev, char ch)
 {
        struct dm_serial_ops *ops = serial_get_ops(dev);
        int err;
@@ -92,55 +92,65 @@ static void serial_putc_dev(struct udevice *dev, char ch)
                err = ops->putc(dev, ch);
        } while (err == -EAGAIN);
        if (ch == '\n')
-               serial_putc_dev(dev, '\r');
+               _serial_putc(dev, '\r');
 }
 
-void serial_putc(char ch)
+static void _serial_puts(struct udevice *dev, const char *str)
 {
-       serial_putc_dev(cur_dev, ch);
+       while (*str)
+               _serial_putc(dev, *str++);
 }
 
-void serial_setbrg(void)
+static int _serial_getc(struct udevice *dev)
 {
-       struct dm_serial_ops *ops = serial_get_ops(cur_dev);
+       struct dm_serial_ops *ops = serial_get_ops(dev);
+       int err;
 
-       if (ops->setbrg)
-               ops->setbrg(cur_dev, gd->baudrate);
-}
+       do {
+               err = ops->getc(dev);
+               if (err == -EAGAIN)
+                       WATCHDOG_RESET();
+       } while (err == -EAGAIN);
 
-void serial_puts(const char *str)
-{
-       while (*str)
-               serial_putc(*str++);
+       return err >= 0 ? err : 0;
 }
 
-int serial_tstc(void)
+static int _serial_tstc(struct udevice *dev)
 {
-       struct dm_serial_ops *ops = serial_get_ops(cur_dev);
+       struct dm_serial_ops *ops = serial_get_ops(dev);
 
        if (ops->pending)
-               return ops->pending(cur_dev, true);
+               return ops->pending(dev, true);
 
        return 1;
 }
 
-static int serial_getc_dev(struct udevice *dev)
+void serial_putc(char ch)
 {
-       struct dm_serial_ops *ops = serial_get_ops(dev);
-       int err;
-
-       do {
-               err = ops->getc(dev);
-               if (err == -EAGAIN)
-                       WATCHDOG_RESET();
-       } while (err == -EAGAIN);
+       _serial_putc(cur_dev, ch);
+}
 
-       return err >= 0 ? err : 0;
+void serial_puts(const char *str)
+{
+       _serial_puts(cur_dev, str);
 }
 
 int serial_getc(void)
 {
-       return serial_getc_dev(cur_dev);
+       return _serial_getc(cur_dev);
+}
+
+int serial_tstc(void)
+{
+       return _serial_tstc(cur_dev);
+}
+
+void serial_setbrg(void)
+{
+       struct dm_serial_ops *ops = serial_get_ops(cur_dev);
+
+       if (ops->setbrg)
+               ops->setbrg(cur_dev, gd->baudrate);
 }
 
 void serial_stdio_init(void)
@@ -149,29 +159,22 @@ void serial_stdio_init(void)
 
 static void serial_stub_putc(struct stdio_dev *sdev, const char ch)
 {
-       serial_putc_dev(sdev->priv, ch);
+       _serial_putc(sdev->priv, ch);
 }
 
 void serial_stub_puts(struct stdio_dev *sdev, const char *str)
 {
-       while (*str)
-               serial_stub_putc(sdev, *str++);
+       _serial_puts(sdev->priv, str);
 }
 
 int serial_stub_getc(struct stdio_dev *sdev)
 {
-       return serial_getc_dev(sdev->priv);
+       return _serial_getc(sdev->priv);
 }
 
 int serial_stub_tstc(struct stdio_dev *sdev)
 {
-       struct udevice *dev = sdev->priv;
-       struct dm_serial_ops *ops = serial_get_ops(dev);
-
-       if (ops->pending)
-               return ops->pending(dev, true);
-
-       return 1;
+       return _serial_tstc(sdev->priv);
 }
 
 static int serial_post_probe(struct udevice *dev)