[U-Boot] [PATCH 11/14] Simplify the main loop

Simon Glass sjg at chromium.org
Fri Apr 11 04:01:33 CEST 2014


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 at chromium.org>
---

 common/main.c | 47 ++++++++++++++++++++++++++---------------------
 1 file changed, 26 insertions(+), 21 deletions(-)

diff --git a/common/main.c b/common/main.c
index 0cb3973..d95e5fc 100644
--- a/common/main.c
+++ b/common/main.c
@@ -22,14 +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");
-
 #ifdef CONFIG_MODEM_SUPPORT
 	debug("DEBUG: main_loop:   gd->do_mdm_init=%lu\n", gd->do_mdm_init);
 	if (gd->do_mdm_init) {
@@ -40,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
@@ -69,6 +54,26 @@ void main_loop(void)
 # endif
 	}
 #endif /* CONFIG_PREBOOT */
+}
+
+void main_loop(void)
+{
+	bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop");
+
+	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);
-- 
1.9.1.423.g4596e3a



More information about the U-Boot mailing list