소스 검색

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>
Marek Vasut 12 년 전
부모
커밋
bfb7d7a3d6
2개의 변경된 파일9개의 추가작업 그리고 0개의 파일을 삭제
  1. 7 0
      drivers/serial/serial.c
  2. 2 0
      include/serial.h

+ 7 - 0
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;
 

+ 2 - 0
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);