summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2012-10-06 14:07:01 +0000
committerTom Rini <trini@ti.com>2012-10-17 07:55:50 -0700
commitbfb7d7a3d61ff23f9dd265a56e8b5cac5bbfd76e (patch)
treeb41b156583a878f143da54aeb52fd600337b5ad5
parentbfa5b71408da629493838668e4df0ca9d12107bb (diff)
downloadu-boot-imx-bfb7d7a3d61ff23f9dd265a56e8b5cac5bbfd76e.zip
u-boot-imx-bfb7d7a3d61ff23f9dd265a56e8b5cac5bbfd76e.tar.gz
u-boot-imx-bfb7d7a3d61ff23f9dd265a56e8b5cac5bbfd76e.tar.bz2
serial: Implement default_serial_puts()
U-Boot contains a lot of duplicit implementations of serial_puts() call which just pipes single characters into the port in loop. Implement function that does this behavior into common code, so others can make easy use of it. This function is called default_serial_puts() and it's sole purpose is to call putc() in loop on the whole string passed to it. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Tom Rini <trini@ti.com>
-rw-r--r--drivers/serial/serial.c7
-rw-r--r--include/serial.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/serial/serial.c b/drivers/serial/serial.c
index 5bbf3ae..d648a73 100644
--- a/drivers/serial/serial.c
+++ b/drivers/serial/serial.c
@@ -273,6 +273,13 @@ void serial_puts(const char *s)
get_current()->puts(s);
}
+void default_serial_puts(const char *s)
+{
+ struct serial_device *dev = get_current();
+ while (*s)
+ dev->putc(*s++);
+}
+
#if CONFIG_POST & CONFIG_SYS_POST_UART
static const int bauds[] = CONFIG_SYS_BAUDRATE_TABLE;
diff --git a/include/serial.h b/include/serial.h
index a8d23f5..14f863e 100644
--- a/include/serial.h
+++ b/include/serial.h
@@ -20,6 +20,8 @@ struct serial_device {
struct serial_device *next;
};
+void default_serial_puts(const char *s);
+
extern struct serial_device serial_smc_device;
extern struct serial_device serial_scc_device;
extern struct serial_device *default_serial_console(void);