[PATCH 1/2] cramfs: make cramfs usable without a NOR flash Signed-off-by: Heiko Schocher <h...@denx.de> ---
- changes since v1: added comments from Wolfgang Denk: get rid of flash_info_t define in board config (to get this working patch 1/2 is introduced/needed) common/cmd_cramfs.c | 12 +++++++++++- fs/cramfs/cramfs.c | 4 ++++ 2 files changed, 15 insertions(+), 1 deletions(-) diff --git a/common/cmd_cramfs.c b/common/cmd_cramfs.c index 55e2d36..9e92163 100644 --- a/common/cmd_cramfs.c +++ b/common/cmd_cramfs.c @@ -43,7 +43,9 @@ #endif #ifdef CONFIG_CRAMFS_CMDLINE -flash_info_t flash_info[1]; +#if !defined(CONFIG_SYS_NO_FLASH) +extern flash_info_t flash_info[]; +#endif #ifndef CONFIG_CMD_JFFS2 #include <linux/stat.h> @@ -119,7 +121,11 @@ int do_cramfs_load(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) dev.id = &id; part.dev = &dev; /* fake the address offset */ +#if !defined(CONFIG_SYS_NO_FLASH) part.offset = addr - flash_info[id.num].start[0]; +#else + part.offset = addr; +#endif /* pre-set Boot file name */ if ((filename = getenv("bootfile")) == NULL) { @@ -182,7 +188,11 @@ int do_cramfs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) dev.id = &id; part.dev = &dev; /* fake the address offset */ +#if !defined(CONFIG_SYS_NO_FLASH) part.offset = addr - flash_info[id.num].start[0]; +#else + part.offset = addr; +#endif 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) { -- 1.6.2.5 -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot