Hi Bin, On 12 June 2017 at 09:13, Bin Meng <bmeng...@gmail.com> wrote: > Hi Simon, > > On Sun, Jun 11, 2017 at 1:59 AM, Simon Glass <s...@chromium.org> wrote: >> At present the U-Boot banner is only displayed on the serial console. If >> this is not visible to the user, the banner does not show. Some devices >> have a video display which can usefully display this information. >> >> Add a banner which is printed after relocation only on non-serial devices >> if CONFIG_DISPLAY_BOARDINFO_LATE is defined. >> >> Signed-off-by: Simon Glass <s...@chromium.org> >> --- >> >> Changes in v2: >> - Reword function comment for console_announce_r() slighty >> >> common/board_r.c | 1 + >> common/console.c | 15 +++++++++++---- >> include/console.h | 12 ++++++++++++ >> 3 files changed, 24 insertions(+), 4 deletions(-) >> >> diff --git a/common/board_r.c b/common/board_r.c >> index 15977e4bca..ff11eba5d3 100644 >> --- a/common/board_r.c >> +++ b/common/board_r.c >> @@ -846,6 +846,7 @@ static init_fnc_t init_sequence_r[] = { >> #endif >> console_init_r, /* fully init console as a device */ >> #ifdef CONFIG_DISPLAY_BOARDINFO_LATE >> + console_announce_r, >> show_board_info, >> #endif >> #ifdef CONFIG_ARCH_MISC_INIT >> diff --git a/common/console.c b/common/console.c >> index 1232808df5..3fcd7ce66b 100644 >> --- a/common/console.c >> +++ b/common/console.c >> @@ -202,7 +202,6 @@ static void console_putc(int file, const char c) >> } >> } >> >> -#if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER) > > Why removing this? Without PRE_CONSOLE_BUFFER, I doubt it works.
I want to be able to call the function below. It seems to work OK and it doesn't rely on that option. > >> static void console_puts_noserial(int file, const char *s) >> { >> int i; >> @@ -214,7 +213,6 @@ static void console_puts_noserial(int file, const char >> *s) >> dev->puts(dev, s); >> } >> } >> -#endif >> >> static void console_puts(int file, const char *s) >> { >> @@ -248,13 +246,11 @@ static inline void console_putc(int file, const char c) >> stdio_devices[file]->putc(stdio_devices[file], c); >> } >> >> -#if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER) >> static inline void console_puts_noserial(int file, const char *s) >> { >> if (strcmp(stdio_devices[file]->name, "serial") != 0) >> stdio_devices[file]->puts(stdio_devices[file], s); >> } >> -#endif >> >> static inline void console_puts(int file, const char *s) >> { >> @@ -699,6 +695,17 @@ static void console_update_silent(void) >> #endif >> } >> >> +int console_announce_r(void) >> +{ >> + char buf[DISPLAY_OPTIONS_BANNER_LENGTH]; >> + >> + display_options_get_banner(false, buf, sizeof(buf)); >> + >> + console_puts_noserial(stdout, buf); >> + >> + return 0; >> +} >> + >> /* Called before relocation - use serial functions */ >> int console_init_f(void) >> { >> diff --git a/include/console.h b/include/console.h >> index 3d37f6a53b..cea29ed6dc 100644 >> --- a/include/console.h >> +++ b/include/console.h >> @@ -42,6 +42,18 @@ void console_record_reset(void); >> */ >> void console_record_reset_enable(void); >> >> +/** >> + * console_announce_r() - print a U-Boot console on non-serial consoles >> + * >> + * When U-Boot starts up with a display it generally does not announce >> itself >> + * on the display. The banner is instead emitted on the UART before >> relocation. >> + * This function prints a banner on devices which (we assume) did not >> receive >> + * it before relocation. >> + * >> + * @return 0 (meaning no errors) >> + */ >> +int console_announce_r(void); >> + >> /* >> * CONSOLE multiplexing. >> */ >> -- > > And I see another (same) patch @ > https://patchwork.ozlabs.org/patch/769426/ which got applied, but this > one was sent later than the applied one. I am confused.. Another patch in this series caused a breakage using a long BUILD_TAG due to a bug in how the snprintf() calls were done. So I dropped two patches from that series and sent this series instead. It wasn't noticed since I don't use BUILD_TAG and no tests were in place. It just happened that Stephen Warren has automated testing that caught it before it was pulled to mainline. Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot