spl: Split out bootstage ID into a function
authorSimon Glass <sjg@chromium.org>
Mon, 15 Mar 2021 05:11:15 +0000 (18:11 +1300)
committerSimon Glass <sjg@chromium.org>
Sat, 27 Mar 2021 02:04:31 +0000 (15:04 +1300)
We have two separate places that need to figure out the bootstage ID to
use. Put this code in a function so that the logic is in one place.

Signed-off-by: Simon Glass <sjg@chromium.org>
common/spl/spl.c

index 5f51098..556a91a 100644 (file)
@@ -387,6 +387,22 @@ static inline int write_spl_handoff(void) { return 0; }
 
 #endif /* HANDOFF */
 
+/**
+ * get_bootstage_id() - Get the bootstage ID to emit
+ *
+ * @start: true if this is for starting SPL, false for ending it
+ * @return bootstage ID to use
+ */
+static enum bootstage_id get_bootstage_id(bool start)
+{
+       enum u_boot_phase phase = spl_phase();
+
+       if (IS_ENABLED(CONFIG_TPL_BUILD) && phase == PHASE_TPL)
+               return start ? BOOTSTAGE_ID_START_TPL : BOOTSTAGE_ID_END_TPL;
+       else
+               return start ? BOOTSTAGE_ID_START_SPL : BOOTSTAGE_ID_END_SPL;
+}
+
 static int spl_common_init(bool setup_malloc)
 {
        int ret;
@@ -417,8 +433,8 @@ static int spl_common_init(bool setup_malloc)
                              __func__, ret);
        }
 #endif /* CONFIG_BOOTSTAGE_STASH */
-       bootstage_mark_name(spl_phase() == PHASE_TPL ? BOOTSTAGE_ID_START_TPL :
-                           BOOTSTAGE_ID_START_SPL, SPL_TPL_NAME);
+       bootstage_mark_name(get_bootstage_id(true),
+                           spl_phase_name(spl_phase()));
 #if CONFIG_IS_ENABLED(LOG)
        ret = log_init();
        if (ret) {
@@ -733,8 +749,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
        debug("SPL malloc() used 0x%lx bytes (%ld KB)\n", gd->malloc_ptr,
              gd->malloc_ptr / 1024);
 #endif
-       bootstage_mark_name(spl_phase() == PHASE_TPL ? BOOTSTAGE_ID_END_TPL :
-                           BOOTSTAGE_ID_END_SPL, "end " SPL_TPL_NAME);
+       bootstage_mark_name(get_bootstage_id(false), "end phase");
 #ifdef CONFIG_BOOTSTAGE_STASH
        ret = bootstage_stash((void *)CONFIG_BOOTSTAGE_STASH_ADDR,
                              CONFIG_BOOTSTAGE_STASH_SIZE);