This is just a draft to discuss ideas related to "Make U-Boot log great
again" thread.

With this patch we will see something like:

    Loading Environment from FAT...
       --> MMC: no card present
       --> ** Bad device mmc 0 **
       --> Failed (-5)
    Loading Environment from MMC...
       --> OK

instead of:

    Loading Environment from FAT... MMC: no card present
    ** Bad device mmc 0 **
    Failed (-5)
    Loading Environment from MMC... OK

Signed-off-by: Sam Protsenko <semen.protse...@linaro.org>
---
 common/console.c                  | 8 ++++++++
 env/env.c                         | 4 +++-
 include/asm-generic/global_data.h | 1 +
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/common/console.c b/common/console.c
index 2ba33dc574..1bbafa33a1 100644
--- a/common/console.c
+++ b/common/console.c
@@ -533,6 +533,14 @@ void putc(const char c)
 
 void puts(const char *s)
 {
+       if (gd->pr_prefix) {
+               const char *prefix = gd->pr_prefix;
+
+               gd->pr_prefix = NULL;
+               puts(prefix);
+               gd->pr_prefix = prefix;
+       }
+
 #ifdef CONFIG_DEBUG_UART
        if (!gd || !(gd->flags & GD_FLG_SERIAL_READY)) {
                while (*s) {
diff --git a/env/env.c b/env/env.c
index 5c0842ac07..56a105ea55 100644
--- a/env/env.c
+++ b/env/env.c
@@ -194,12 +194,14 @@ int env_load(void)
                if (!env_has_inited(drv->location))
                        continue;
 
-               printf("Loading Environment from %s... ", drv->name);
+               printf("Loading Environment from %s...\n", drv->name);
+               gd->pr_prefix = "   --> ";
                ret = drv->load();
                if (ret)
                        printf("Failed (%d)\n", ret);
                else
                        printf("OK\n");
+               gd->pr_prefix = NULL;
 
                if (!ret)
                        return 0;
diff --git a/include/asm-generic/global_data.h 
b/include/asm-generic/global_data.h
index 0fd4900392..32b80db96b 100644
--- a/include/asm-generic/global_data.h
+++ b/include/asm-generic/global_data.h
@@ -44,6 +44,7 @@ typedef struct global_data {
        unsigned long board_type;
 #endif
        unsigned long have_console;     /* serial_init() was called */
+       const char *pr_prefix;          /* print prefix before message */
 #if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER)
        unsigned long precon_buf_idx;   /* Pre-Console buffer index */
 #endif
-- 
2.18.0

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to