Use the compiler to get the set of states, instead of the preprocessor.

Signed-off-by: Simon Glass <s...@chromium.org>
---

Changes in v2:
- Split out booti removal of #ifdef

 cmd/booti.c | 24 +++++++++++-------------
 1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/cmd/booti.c b/cmd/booti.c
index 41d40c962ec2..d3cceb7e0a39 100644
--- a/cmd/booti.c
+++ b/cmd/booti.c
@@ -105,6 +105,7 @@ static int booti_start(struct cmd_tbl *cmdtp, int flag, int 
argc,
 
 int do_booti(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
+       int states;
        int ret;
 
        /* Consume 'booti' */
@@ -120,19 +121,16 @@ int do_booti(struct cmd_tbl *cmdtp, int flag, int argc, 
char *const argv[])
        bootm_disable_interrupts();
 
        images.os.os = IH_OS_LINUX;
-#ifdef CONFIG_RISCV_SMODE
-       images.os.arch = IH_ARCH_RISCV;
-#elif CONFIG_ARM64
-       images.os.arch = IH_ARCH_ARM64;
-#endif
-       ret = do_bootm_states(cmdtp, flag, argc, argv,
-#ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH
-                             BOOTM_STATE_RAMDISK |
-#endif
-                             BOOTM_STATE_MEASURE |
-                             BOOTM_STATE_OS_PREP | BOOTM_STATE_OS_FAKE_GO |
-                             BOOTM_STATE_OS_GO,
-                             &images, 1);
+       if (IS_ENABLED(CONFIG_RISCV_SMODE))
+               images.os.arch = IH_ARCH_RISCV;
+       else if (IS_ENABLED(CONFIG_ARM64))
+               images.os.arch = IH_ARCH_ARM64;
+
+       states = BOOTM_STATE_MEASURE | BOOTM_STATE_OS_PREP |
+               BOOTM_STATE_OS_FAKE_GO | BOOTM_STATE_OS_GO;
+       if (IS_ENABLED(CONFIG_SYS_BOOT_RAMDISK_HIGH))
+               states |= BOOTM_STATE_RAMDISK;
+       ret = do_bootm_states(cmdtp, flag, argc, argv, states, &images, 1);
 
        return ret;
 }
-- 
2.43.0.472.g3155946c3a-goog

Reply via email to