Use IF_ENABLED_INT() to avoid needing to use the preprocessor.

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

 common/spl/spl.c           | 12 ++++++++----
 include/system-constants.h |  5 ++++-
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/common/spl/spl.c b/common/spl/spl.c
index 27266b393ea..78db9ef5318 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -754,10 +754,14 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
 
        spl_set_bd();
 
-#if defined(CONFIG_SPL_SYS_MALLOC)
-       mem_malloc_init(SPL_SYS_MALLOC_START, CONFIG_SPL_SYS_MALLOC_SIZE);
-       gd->flags |= GD_FLG_FULL_MALLOC_INIT;
-#endif
+       if (IS_ENABLED(CONFIG_SPL_SYS_MALLOC)) {
+               ulong size;
+
+               size = IF_ENABLED_INT(CONFIG_SPL_SYS_MALLOC,
+                                     CONFIG_SPL_SYS_MALLOC_SIZE);
+               mem_malloc_init(SPL_SYS_MALLOC_START, size);
+               gd->flags |= GD_FLG_FULL_MALLOC_INIT;
+       }
        if (!(gd->flags & GD_FLG_SPL_INIT)) {
                if (spl_init())
                        hang();
diff --git a/include/system-constants.h b/include/system-constants.h
index f0a191be590..aa02c48f49d 100644
--- a/include/system-constants.h
+++ b/include/system-constants.h
@@ -24,9 +24,12 @@
  */
 #ifdef CONFIG_SPL_HAS_CUSTOM_MALLOC_START
 #define SPL_SYS_MALLOC_START           CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR
-#else
+#elif defined(CONFIG_SPL_BSS_START_ADDR)
 #define SPL_SYS_MALLOC_START           (CONFIG_SPL_BSS_START_ADDR + \
                                         CONFIG_SPL_BSS_MAX_SIZE)
+#else
+/* feature not enabled: this value avoids compiler errors but is not used */
+#define SPL_SYS_MALLOC_START   0
 #endif
 
 #endif
-- 
2.42.0.rc2.253.gd59a3bf2b4-goog

Reply via email to