Patchwork [U-Boot] cfi_flash: use CFI driver without a monitor program

login
register
mail settings
Submitter Masahiro Yamada
Date May 17, 2013, 6:35 a.m.
Message ID <1368772552-12784-1-git-send-email-yamada.m@jp.panasonic.com>
Download mbox | patch
Permalink /patch/244506/
State Not Applicable
Delegated to: Stefan Roese
Headers show

Comments

Masahiro Yamada - May 17, 2013, 6:35 a.m.
When CONFIG_SYS_MONITOR_BASE is not defined
and CONFIG_SYS_FLASH_BASE is defined as zero,
compile failed with an error.

We can work around this problem by defining
CONFIG_SYS_MONITOR_BASE as any value
even though a monitor program is not used.
But this is not a correct way.

Using CFI driver should not depend on the use of
a monitor program.

So, this commit corrects the build error by adding
"if defined(CONFIG_SYS_MONITOR_BASE)" condition.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---
 drivers/mtd/cfi_flash.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Stefan Roese - May 17, 2013, 7:38 a.m.
On 05/17/2013 08:35 AM, Masahiro Yamada wrote:
> When CONFIG_SYS_MONITOR_BASE is not defined
> and CONFIG_SYS_FLASH_BASE is defined as zero,
> compile failed with an error.
> 
> We can work around this problem by defining
> CONFIG_SYS_MONITOR_BASE as any value
> even though a monitor program is not used.
> But this is not a correct way.

CONFIG_SYS_MONITOR_BASE should be defined to the value, where the U-Boot
image (monitor) is located.

> Using CFI driver should not depend on the use of
> a monitor program.

Could you please explain, what a "monitor program" is?

Is it correct to assume, that you are using the CFI NOR flash driver,
but have U-Boot located in some other location (NAND, MMC...)?

Thanks,
Stefan
Masahiro Yamada - May 17, 2013, 9:01 a.m.
Hello, Stefan,

Thank you for your reply.

> Could you please explain, what a "monitor program" is?

I don't actually know what a "monitor program" is.
But, I just thought it is like a stab program used
by GDB or something.
(I am not using GDB either, but somehow I just imagined so.)

You mentioned "monitor" is U-Boot image, and I read README file.
Now I realized I had completely misunderstood
the meaning of "monitor".

> Is it correct to assume, that you are using the CFI NOR flash driver,
> but have U-Boot located in some other location (NAND, MMC...)?

Yes.
U-Boot is located sometimes in SRAM, or sometimes in NOR flash
or other cases in NAND.
(My SoC board is a little special.
Memory devices such as SRAM, NOR flash, NAND flash can be attached
to kind of expantion slots of SoC board,
which allows to easily change boot devices.)


Please let me retract this patch.
I'm sorry for wasting your time.


Best Regards
Masahiro Yamada

Patch

diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
index 22d8440..e418c22 100644
--- a/drivers/mtd/cfi_flash.c
+++ b/drivers/mtd/cfi_flash.c
@@ -2308,7 +2308,8 @@  void flash_protect_default(void)
 #endif
 
 	/* Monitor protection ON by default */
-#if (CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE) && \
+#if defined(CONFIG_SYS_MONITOR_BASE) && \
+	(CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE) &&	\
 	(!defined(CONFIG_MONITOR_IS_IN_RAM))
 	flash_protect(FLAG_PROTECT_SET,
 		       CONFIG_SYS_MONITOR_BASE,