[PATCH v2 07/32] spl: Avoid #ifdef with CONFIG_SPL_PAYLOAD_ARGS_ADDR

Simon Glass sjg at chromium.org
Thu Sep 21 03:56:56 CEST 2023


Move the condition to the header file to improve readability.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

Changes in v2:
- Change the approach to use the header file

 common/spl/spl.c           | 10 ++++------
 include/system-constants.h |  7 +++++++
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/common/spl/spl.c b/common/spl/spl.c
index 9870e9a65468..703f45cd8044 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -810,9 +810,8 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
 	}
 
 	memset(&spl_image, '\0', sizeof(spl_image));
-#ifdef CONFIG_SPL_PAYLOAD_ARGS_ADDR
-	spl_image.arg = (void *)CONFIG_SPL_PAYLOAD_ARGS_ADDR;
-#endif
+	if (IS_ENABLED(CONFIG_SPL_OS_BOOT))
+		spl_image.arg = (void *)SPL_PAYLOAD_ARGS_ADDR;
 	spl_image.boot_device = BOOT_DEVICE_NONE;
 	board_boot_order(spl_boot_list);
 
@@ -869,9 +868,8 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
 #if CONFIG_IS_ENABLED(OS_BOOT)
 	case IH_OS_LINUX:
 		debug("Jumping to Linux\n");
-#if defined(CONFIG_SPL_PAYLOAD_ARGS_ADDR)
-		spl_fixup_fdt((void *)CONFIG_SPL_PAYLOAD_ARGS_ADDR);
-#endif
+		if (IS_ENABLED(CONFIG_SPL_OS_BOOT))
+			spl_fixup_fdt((void *)SPL_PAYLOAD_ARGS_ADDR);
 		spl_board_prepare_for_linux();
 		jump_to_image_linux(&spl_image);
 #endif
diff --git a/include/system-constants.h b/include/system-constants.h
index dca6a86b01f5..59371568d1e7 100644
--- a/include/system-constants.h
+++ b/include/system-constants.h
@@ -34,4 +34,11 @@
 #define SPL_SYS_MALLOC_SIZE	\
 	IF_ENABLED_INT(CONFIG_SPL_SYS_MALLOC, CONFIG_SPL_SYS_MALLOC_SIZE)
 
+/* deal with an optional value */
+#ifdef CONFIG_SPL_OS_BOOT
+#define SPL_PAYLOAD_ARGS_ADDR	CONFIG_SPL_PAYLOAD_ARGS_ADDR
+#else
+#define SPL_PAYLOAD_ARGS_ADDR	0
+#endif
+
 #endif
-- 
2.42.0.515.g380fc7ccd1-goog



More information about the U-Boot mailing list