]> git.sur5r.net Git - u-boot/commitdiff
Simplify the main loop
authorSimon Glass <sjg@chromium.org>
Fri, 11 Apr 2014 02:01:33 +0000 (20:01 -0600)
committerTom Rini <trini@ti.com>
Thu, 29 May 2014 21:51:42 +0000 (17:51 -0400)
The main loop is easier to follow if the code is grouped into separate
functions. Make this change, so that main_loop() is easier to read.

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

index e3e9f8487165136257a8d59ab95b6531e23a53fe..b4cf289dc5dfcae2c72c1c86848b981ce9b1d879 100644 (file)
@@ -22,20 +22,8 @@ DECLARE_GLOBAL_DATA_PTR;
 void inline __show_boot_progress (int val) {}
 void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress")));
 
-void main_loop(void)
+static void modem_init(void)
 {
-#ifdef CONFIG_PREBOOT
-       char *p;
-#endif
-
-       bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop");
-
-#ifndef CONFIG_SYS_GENERIC_BOARD
-       puts("Warning: Your board does not use generic board. Please read\n");
-       puts("doc/README.generic-board and take action. Boards not\n");
-       puts("upgraded by the late 2014 may break or be removed.\n");
-#endif
-
 #ifdef CONFIG_MODEM_SUPPORT
        debug("DEBUG: main_loop:   gd->do_mdm_init=%lu\n", gd->do_mdm_init);
        if (gd->do_mdm_init) {
@@ -46,22 +34,13 @@ void main_loop(void)
                mdm_init(); /* wait for modem connection */
        }
 #endif  /* CONFIG_MODEM_SUPPORT */
+}
 
-#ifdef CONFIG_VERSION_VARIABLE
-       {
-               setenv("ver", version_string);  /* set version variable */
-       }
-#endif /* CONFIG_VERSION_VARIABLE */
-
-#ifdef CONFIG_SYS_HUSH_PARSER
-       u_boot_hush_start();
-#endif
-
-#if defined(CONFIG_HUSH_INIT_VAR)
-       hush_init_var();
-#endif
-
+static void run_preboot_environment_command(void)
+{
 #ifdef CONFIG_PREBOOT
+       char *p;
+
        p = getenv("preboot");
        if (p != NULL) {
 # ifdef CONFIG_AUTOBOOT_KEYED
@@ -75,6 +54,32 @@ void main_loop(void)
 # endif
        }
 #endif /* CONFIG_PREBOOT */
+}
+
+void main_loop(void)
+{
+       bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop");
+
+#ifndef CONFIG_SYS_GENERIC_BOARD
+       puts("Warning: Your board does not use generic board. Please read\n");
+       puts("doc/README.generic-board and take action. Boards not\n");
+       puts("upgraded by the late 2014 may break or be removed.\n");
+#endif
+
+       modem_init();
+#ifdef CONFIG_VERSION_VARIABLE
+       setenv("ver", version_string);  /* set version variable */
+#endif /* CONFIG_VERSION_VARIABLE */
+
+#ifdef CONFIG_SYS_HUSH_PARSER
+       u_boot_hush_start();
+#endif
+
+#if defined(CONFIG_HUSH_INIT_VAR)
+       hush_init_var();
+#endif
+
+       run_preboot_environment_command();
 
 #if defined(CONFIG_UPDATE_TFTP)
        update_tftp(0UL);