[U-Boot] [PATCH][RESEND]: Fix for U-Boot build failure with CONFIG_SYS_NO_FLASH defined for qemu-mips.

Shinya Kuribayashi
2009-12-21T04:40:07Z

Himanshu Chauhan wrote:
> May be I really want that CONFIG_SYS_NO_FLASH defined then build should at least not break. Isn't it?

Correct, it should build even with CONFIG_SYS_NO_FLASH.

>>> diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
>>> index efd6aec..5bd3af0 100644
>>> --- a/common/cmd_bootm.c
>>> +++ b/common/cmd_bootm.c
>>> @@ -76,7 +76,7 @@ extern void bz_internal_error(int);
>>> static int image_info (unsigned long addr);
>>> #endif
>>>
>>> -#if defined(CONFIG_CMD_IMLS)
>>> +#if !defined(CONFIG_SYS_NO_FLASH)&& defined(CONFIG_CMD_IMLS)
>>> #include<flash.h>
>>> extern flash_info_t flash_info[]; /* info for FLASH chips */
>>> static int do_imls (cmd_tbl_t *cmdtp, int flag, int argc, char
>>> *argv[]);
>>> @@ -1153,7 +1153,7 @@ U_BOOT_CMD(
>>> /*******************************************************************/
>>> /* imls - list all images found in flash */
>>> /*******************************************************************/
>>> -#if defined(CONFIG_CMD_IMLS)
>>> +#if !defined(CONFIG_SYS_NO_FLASH)&& defined(CONFIG_CMD_IMLS)
>>> int do_imls (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
>>> {
>>> flash_info_t *info;
>> Disabling IMLS command in configs/qemu_mips.h?
> This should have been disabled anyways if this patch was applied:
> http://www.mail-archive.com/u-boot at lists.denx.de/msg07407.html

The patch is applied.

|diff --git a/include/configs/qemu-mips.h b/include/configs/qemu-mips.h
|index cbacdf9..49a1a1c 100644
|--- a/include/configs/qemu-mips.h
|+++ b/include/configs/qemu-mips.h
|:q
|@@ -142,6 +142,7 @@
| #define CONFIG_SYS_INIT_SP_OFFSET 0x400000
|
| /* We boot from this flash, selected with dip switch */
|+#define CONFIG_SYS_NO_FLASH
| #define CONFIG_SYS_FLASH_BASE 0xbfc00000
| #define CONFIG_SYS_MAX_FLASH_BANKS 1
| #define CONFIG_SYS_MAX_FLASH_SECT 128

FWIW, how about putting CONFIG_SYS_NO_FLASH prior to <config_cmd_
default.h>?

>>> diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
>>> index 24eb33f..06c7271 100644
>>> --- a/drivers/mtd/cfi_flash.c
>>> +++ b/drivers/mtd/cfi_flash.c
>>> @@ -41,6 +41,7 @@
>>> #include<environment.h>
>>> #include<mtd/cfi_flash.h>
>>>
>>> +#ifndef CONFIG_SYS_NO_FLASH
>>> /*
>>> * This file implements a Common Flash Interface (CFI) driver for
>>> * U-Boot.
>>> @@ -2020,3 +2021,5 @@ unsigned long flash_init (void)
>>>
>>> return (size);
>>> }
>>> +
>>> +#endif
>> Removing CONFIG_CFI_DRIVER from configs/qemu_mips.h?
> If CONFIG_SYS_NO_FLASH is defined should it be compiled?

No. In U-Boot, in general, drivers should be predefined through
configs/<boardname>.h. If we don't use CFI driver, just disable
it in top-level board config file. This is to avoid #ifdef mess,
and prevent the drivers from being clobbered.

--
Shinya Kuribayashi
NEC Electronics