cramfs: make cramfs usable without a NOR flash
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>
This commit is contained in:
parent
ee8bc961a4
commit
62a813bcac
|
@ -45,6 +45,12 @@
|
||||||
#ifdef CONFIG_CRAMFS_CMDLINE
|
#ifdef CONFIG_CRAMFS_CMDLINE
|
||||||
#include <flash.h>
|
#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
|
#ifndef CONFIG_CMD_JFFS2
|
||||||
#include <linux/stat.h>
|
#include <linux/stat.h>
|
||||||
char *mkmodestr(unsigned long mode, char *str)
|
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;
|
dev.id = &id;
|
||||||
part.dev = &dev;
|
part.dev = &dev;
|
||||||
/* fake the address offset */
|
/* fake the address offset */
|
||||||
part.offset = addr - flash_info[id.num].start[0];
|
part.offset = addr - OFFSET_ADJUSTMENT;
|
||||||
|
|
||||||
/* pre-set Boot file name */
|
/* pre-set Boot file name */
|
||||||
if ((filename = getenv("bootfile")) == NULL) {
|
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;
|
dev.id = &id;
|
||||||
part.dev = &dev;
|
part.dev = &dev;
|
||||||
/* fake the address offset */
|
/* fake the address offset */
|
||||||
part.offset = addr - flash_info[id.num].start[0];
|
part.offset = addr - OFFSET_ADJUSTMENT;
|
||||||
|
|
||||||
if (argc == 2)
|
if (argc == 2)
|
||||||
filename = argv[1];
|
filename = argv[1];
|
||||||
|
|
|
@ -41,8 +41,12 @@ struct cramfs_super super;
|
||||||
|
|
||||||
/* CPU address space offset calculation macro, struct part_info offset is
|
/* 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. */
|
* 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[];
|
extern flash_info_t flash_info[];
|
||||||
#define PART_OFFSET(x) (x->offset + flash_info[x->dev->id->num].start[0])
|
#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)
|
static int cramfs_read_super (struct part_info *info)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue