mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 08:42:12 +02:00
console: simplify puts()
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> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
committed by
Simon Glass
parent
47b98ad0f6
commit
c61d0009fe
@@ -426,12 +426,6 @@ static void pre_console_putc(const char c)
|
|||||||
unmap_sysmem(buffer);
|
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)
|
static void print_pre_console_buffer(int flushpoint)
|
||||||
{
|
{
|
||||||
unsigned long in = 0, out = 0;
|
unsigned long in = 0, out = 0;
|
||||||
@@ -459,7 +453,6 @@ static void print_pre_console_buffer(int flushpoint)
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
static inline void pre_console_putc(const char c) {}
|
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) {}
|
static inline void print_pre_console_buffer(int flushpoint) {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -501,41 +494,8 @@ void putc(const char c)
|
|||||||
|
|
||||||
void puts(const char *s)
|
void puts(const char *s)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_DEBUG_UART
|
while (*s)
|
||||||
if (!gd || !(gd->flags & GD_FLG_SERIAL_READY)) {
|
putc(*s++);
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_CONSOLE_RECORD
|
#ifdef CONFIG_CONSOLE_RECORD
|
||||||
|
Reference in New Issue
Block a user