]> git.sur5r.net Git - u-boot/commitdiff
cramfs: make cramfs usable without a NOR flash
authorHeiko Schocher <hs@denx.de>
Tue, 3 May 2011 02:15:15 +0000 (02:15 +0000)
committerWolfgang Denk <wd@denx.de>
Tue, 10 May 2011 20:47:32 +0000 (22:47 +0200)
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>
common/cmd_cramfs.c
fs/cramfs/cramfs.c

index 9060ecc58e29f4221919a123ccb5a89337c973d5..e7f496e4eacc2956bac5965e3a5696343632c0b7 100644 (file)
 #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];
index 2956d390da048f899f3cbb54389eb93907f9a636..910955dfc8ec4c3bd740b06f024608266728b786 100644 (file)
@@ -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)
 {