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