[U-Boot] [PATCH] mtd: do not include cfi_flash.h if no flash

Marek Vasut marex at denx.de
Sun Oct 25 05:00:35 CET 2015


On Sunday, October 25, 2015 at 04:02:58 AM, Thomas Chou wrote:
> Do not include cfi_flash.h if CONFIG_SYS_NO_FLASH. Because
> the flash_info is undefined in flash.h if CONFIG_SYS_NO_FLASH.
> 
> Signed-off-by: Thomas Chou <thomas at wytron.com.tw>
> ---
>  include/mtd/cfi_flash.h | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/include/mtd/cfi_flash.h b/include/mtd/cfi_flash.h
> index 048b477..526898a 100644
> --- a/include/mtd/cfi_flash.h
> +++ b/include/mtd/cfi_flash.h
> @@ -8,6 +8,8 @@
>  #ifndef __CFI_FLASH_H__
>  #define __CFI_FLASH_H__
> 
> +#ifndef CONFIG_SYS_NO_FLASH
> +

Hi!

Something tells me this is not the right way to fix things up,
but I suspect this idea came from flash.h , right ? This legacy
code is a terrible mess :-(

I'd kinda expect that it'd be always safe to include the cfi_flash.h
because cfi_flash.h would include flash.h and take care of having all
the types available (not the case now). I'd also expect to have all
the CFI command macros available if I include cfi_flash.h, so this new
ifdef would introduce a surprising behavior for me.

I wonder if we cannot find some better solution instead of adding some
more ifdefs to the already horrible maze of ifdefs there. What do you
think please ?

>  #define FLASH_CMD_CFI			0x98
>  #define FLASH_CMD_READ_ID		0x90
>  #define FLASH_CMD_RESET			0xff
> @@ -182,4 +184,6 @@ u32 flash_read32(void *addr);
>  u64 flash_read64(void *addr);
>  #endif
> 
> +#endif /* !CONFIG_SYS_NO_FLASH */
> +
>  #endif /* __CFI_FLASH_H__ */

Best regards,
Marek Vasut


More information about the U-Boot mailing list