diff mbox

[U-Boot,2/2] console: simplify puts()

Message ID 1500264512-30507-2-git-send-email-yamada.masahiro@socionext.com
State Accepted
Commit c61d0009feb966e0e93254a8c435a1889085e6b8
Delegated to: Simon Glass
Headers show

Commit Message

Masahiro Yamada July 17, 2017, 4:08 a.m. UTC
Current puts() and putc() have similar #ifdef / if() conditionals.
Make puts() iterate over putc() to avoid code duplication.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 common/console.c | 44 ++------------------------------------------
 1 file changed, 2 insertions(+), 42 deletions(-)

Comments

Simon Glass July 28, 2017, 4:19 a.m. UTC | #1
Hi Masahiro,

On 16 July 2017 at 22:08, Masahiro Yamada <yamada.masahiro@socionext.com> wrote:
> Current puts() and putc() have similar #ifdef / if() conditionals.
> Make puts() iterate over putc() to avoid code duplication.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
>
>  common/console.c | 44 ++------------------------------------------
>  1 file changed, 2 insertions(+), 42 deletions(-)

This is here I think because having the conditions outside the loop is
faster. But perhaps it makes not difference really.

Reviewed-by: Simon Glass <sjg@chromium.org>
diff mbox

Patch

diff --git a/common/console.c b/common/console.c
index c6156f33bbbe..01eef5594fcb 100644
--- a/common/console.c
+++ b/common/console.c
@@ -426,12 +426,6 @@  static void pre_console_putc(const char c)
 	unmap_sysmem(buffer);
 }
 
-static void pre_console_puts(const char *s)
-{
-	while (*s)
-		pre_console_putc(*s++);
-}
-
 static void print_pre_console_buffer(int flushpoint)
 {
 	unsigned long in = 0, out = 0;
@@ -459,7 +453,6 @@  static void print_pre_console_buffer(int flushpoint)
 }
 #else
 static inline void pre_console_putc(const char c) {}
-static inline void pre_console_puts(const char *s) {}
 static inline void print_pre_console_buffer(int flushpoint) {}
 #endif
 
@@ -501,41 +494,8 @@  void putc(const char c)
 
 void puts(const char *s)
 {
-#ifdef CONFIG_DEBUG_UART
-	if (!gd || !(gd->flags & GD_FLG_SERIAL_READY)) {
-		while (*s) {
-			int ch = *s++;
-
-			printch(ch);
-		}
-		return;
-	}
-#endif
-#ifdef CONFIG_CONSOLE_RECORD
-	if (gd && (gd->flags & GD_FLG_RECORD) && gd->console_out.start)
-		membuff_put(&gd->console_out, s, strlen(s));
-#endif
-#ifdef CONFIG_SILENT_CONSOLE
-	if (gd->flags & GD_FLG_SILENT)
-		return;
-#endif
-
-#ifdef CONFIG_DISABLE_CONSOLE
-	if (gd->flags & GD_FLG_DISABLE_CONSOLE)
-		return;
-#endif
-
-	if (!gd->have_console)
-		return pre_console_puts(s);
-
-	if (gd->flags & GD_FLG_DEVINIT) {
-		/* Send to the standard output */
-		fputs(stdout, s);
-	} else {
-		/* Send directly to the handler */
-		pre_console_puts(s);
-		serial_puts(s);
-	}
+	while (*s)
+		putc(*s++);
 }
 
 #ifdef CONFIG_CONSOLE_RECORD