Patchwork [U-Boot,v2,2/2] cramfs: make cramfs usable without a NOR flash

login
register
mail settings
Submitter Heiko Schocher
Date May 3, 2011, 12:15 p.m.
Message ID <1304424915-17137-1-git-send-email-hs@denx.de>
Download mbox | patch
Permalink /patch/93780/
State Accepted
Commit 62a813bcacd944cf3adcca05dc705721974ac53a
Headers show

Comments

Heiko Schocher - May 3, 2011, 12:15 p.m.
cc: Wolfgang Denk <wd@denx.de>
cc: Detlev Zundel <dzu@denx.de>
cc: Valentin Longchamp <valentin.longchamp@keymile.com>
cc: Holger Brunck <holger.brunck@keymile.com>
Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
---
changes for v2:
- added comments from Wolfgang Denk:
  - introduce define OFFSET_ADJUSTMENT, so command can be used
    without a NOR flash.

 common/cmd_cramfs.c |   10 ++++++++--
 fs/cramfs/cramfs.c  |    4 ++++
 2 files changed, 12 insertions(+), 2 deletions(-)
Wolfgang Denk - May 10, 2011, 8:47 p.m.
Dear Heiko Schocher,

In message <1304424915-17137-1-git-send-email-hs@denx.de> you wrote:
> cc: Wolfgang Denk <wd@denx.de>
> cc: Detlev Zundel <dzu@denx.de>
> cc: Valentin Longchamp <valentin.longchamp@keymile.com>
> cc: Holger Brunck <holger.brunck@keymile.com>
> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
> ---
> changes for v2:
> - added comments from Wolfgang Denk:
>   - introduce define OFFSET_ADJUSTMENT, so command can be used
>     without a NOR flash.
> 
>  common/cmd_cramfs.c |   10 ++++++++--
>  fs/cramfs/cramfs.c  |    4 ++++
>  2 files changed, 12 insertions(+), 2 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

Patch

diff --git a/common/cmd_cramfs.c b/common/cmd_cramfs.c
index 9060ecc..e7f496e 100644
--- a/common/cmd_cramfs.c
+++ b/common/cmd_cramfs.c
@@ -45,6 +45,12 @@ 
 #ifdef CONFIG_CRAMFS_CMDLINE
 #include <flash.h>
 
+#ifdef CONFIG_SYS_NO_FLASH
+# define OFFSET_ADJUSTMENT	0
+#else
+# define OFFSET_ADJUSTMENT	(flash_info[id.num].start[0])
+#endif
+
 #ifndef CONFIG_CMD_JFFS2
 #include <linux/stat.h>
 char *mkmodestr(unsigned long mode, char *str)
@@ -119,7 +125,7 @@  int do_cramfs_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	dev.id = &id;
 	part.dev = &dev;
 	/* fake the address offset */
-	part.offset = addr - flash_info[id.num].start[0];
+	part.offset = addr - OFFSET_ADJUSTMENT;
 
 	/* pre-set Boot file name */
 	if ((filename = getenv("bootfile")) == NULL) {
@@ -182,7 +188,7 @@  int do_cramfs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	dev.id = &id;
 	part.dev = &dev;
 	/* fake the address offset */
-	part.offset = addr - flash_info[id.num].start[0];
+	part.offset = addr - OFFSET_ADJUSTMENT;
 
 	if (argc == 2)
 		filename = argv[1];
diff --git a/fs/cramfs/cramfs.c b/fs/cramfs/cramfs.c
index 2956d39..910955d 100644
--- a/fs/cramfs/cramfs.c
+++ b/fs/cramfs/cramfs.c
@@ -41,8 +41,12 @@  struct cramfs_super super;
 
 /* CPU address space offset calculation macro, struct part_info offset is
  * device address space offset, so we need to shift it by a device start address. */
+#if !defined(CONFIG_SYS_NO_FLASH)
 extern flash_info_t flash_info[];
 #define PART_OFFSET(x)	(x->offset + flash_info[x->dev->id->num].start[0])
+#else
+#define PART_OFFSET(x)	(x->offset)
+#endif
 
 static int cramfs_read_super (struct part_info *info)
 {