[U-Boot] [PATCH v2 4/8] dm: serial: consolidate common code more

Masahiro Yamada yamada.m at jp.panasonic.com
Thu Oct 23 15:26:08 CEST 2014


Commit b8893327e9d2 (dm: serial: Put common code into separate functions)
consolidated getc() and putc().  This commit does more puts() and tsts().

Also rename locally used functions to _serial_*() for clarification
because we have similar functions names here are there in this file.

Signed-off-by: Masahiro Yamada <yamada.m at jp.panasonic.com>
---

Changes in v2:
  - Rebase

 drivers/serial/serial-uclass.c | 75 ++++++++++++++++++++++--------------------
 1 file changed, 39 insertions(+), 36 deletions(-)

diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
index 5767312..8764194 100644
--- a/drivers/serial/serial-uclass.c
+++ b/drivers/serial/serial-uclass.c
@@ -71,7 +71,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;
@@ -80,53 +80,63 @@ 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);
+	} 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);
-	} 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)
@@ -135,29 +145,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)
-- 
1.9.1



More information about the U-Boot mailing list