Skip to content
  • Masahiro Yamada's avatar
    Revert "image.h: Tighten up content using handy CONFIG_IS_ENABLED() macro." · 6f41751f
    Masahiro Yamada authored
    This reverts commit 56adbb38.
    
    Since commit 56adbb38
    
     ("image.h: Tighten up content using handy
    CONFIG_IS_ENABLED() macro."), I found my boards fail to boot Linux
    because the commit changed the logic of macros it touched.  Now,
    IMAGE_ENABLE_RAMDISK_HIGH and IMAGE_BOOT_GET_CMDLINE are 0 for all
    the boards.
    
    As you can see in include/linux/kconfig.h, CONFIG_IS_ENABLE() (and
    IS_ENABLED() as well) can only take a macro that is either defined
    as 1 or undefined.  This is met for boolean options defined in
    Kconfig.  On the other hand, CONFIG_SYS_BOOT_RAMDISK_HIGH and
    CONFIG_SYS_BOOT_GET_CMDLINE are defined without any value in
    arch/*/include/asm/config.h .  This kind of clean-up is welcome,
    but the options should be moved to Kconfig beforehand.
    
    Moreover, CONFIG_IS_ENABLED(SPL_CRC32_SUPPORT) looks weird.
    It should be either CONFIG_IS_ENABLED(CRC32_SUPPORT) or
    IS_ENABLED(CONFIG_SPL_CRC32_SUPPORT).  But, I see no define for
    CONFIG_SPL_CRC32_SUPPORT anywhere.  Likewise for the other three.
    
    The logic of IMAGE_OF_BOARD_SETUP and IMAGE_OF_SYSTEM_SETUP were
    also changed for SPL.  This can be a problem for boards defining
    CONFIG_SPL_OF_LIBFDT.  I guess it should have been changed to
    IS_ENABLED(CONFIG_OF_BOARD_SETUP).
    
    In the first place, if we replace the references in C code,
    the macros IMAGE_* will go away.
    
      if (IS_ENABLED(CONFIG_OF_BOARD_SETUP) {
              ...
      }
    
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    6f41751f