serial: Implement default_serial_puts()
authorMarek Vasut <marex@denx.de>
Sat, 6 Oct 2012 14:07:01 +0000 (14:07 +0000)
committerTom Rini <trini@ti.com>
Wed, 17 Oct 2012 14:55:50 +0000 (07:55 -0700)
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>
drivers/serial/serial.c
include/serial.h

index 5bbf3aeb4456faaa9f154d9fcb2b4338e868c770..d648a73f4113c19257f58284bbe4a4e613e5b40b 100644 (file)
@@ -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;
 
index a8d23f519dd2e10c7f90038a556143aac93510da..14f863ed20ec73f67ed2df791ad2ad4b904b689c 100644 (file)
@@ -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);