[U-Boot-Users] [PATCH7] microblaze - ROMFS adapt files

Michal Simek Monstr at seznam.cz
Thu Aug 30 09:54:32 CEST 2007


DESC:  ROMFS support files and sorted names in Makefiles

Signed-off-by: Michal Simek <monstr at monstr.eu>

Note; I think that we can start process with redesigning all FS support

diff --git a/Makefile b/Makefile
index 0477cd3..6d84dbb 100644
--- a/Makefile
+++ b/Makefile
@@ -201,8 +201,9 @@ ifeq ($(CPU),ixp)
 LIBS += cpu/ixp/npe/libnpe.a
 endif
 LIBS += lib_$(ARCH)/lib$(ARCH).a
-LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
-       fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a
+LIBS += fs/cramfs/libcramfs.a fs/ext2/libext2fs.a fs/fat/libfat.a \
+       fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a \
+       fs/romfs/libromfs.a
 LIBS += net/libnet.a
 LIBS += disk/libdisk.a
 LIBS += rtc/librtc.a
@@ -325,14 +326,14 @@ depend dep:
 tags ctags:
                ctags -w -o $(OBJTREE)/ctags `find $(SUBDIRS) include \
                                lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
-                               fs/cramfs fs/fat fs/fdos fs/jffs2 \
+                               fs/cramfs fs/fat fs/fdos fs/jffs2 fs/romfs\
                                net disk rtc dtt drivers drivers/sk98lin common \
                        \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`

 etags:
                etags -a -o $(OBJTREE)/etags `find $(SUBDIRS) include \
                                lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
-                               fs/cramfs fs/fat fs/fdos fs/jffs2 \
+                               fs/cramfs fs/fat fs/fdos fs/jffs2 fs/romfs\
                                net disk rtc dtt drivers drivers/sk98lin common \
                        \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`

diff --git a/common/cmd_jffs2.c b/common/cmd_jffs2.c
index 513a226..3e6061a 100644
--- a/common/cmd_jffs2.c
+++ b/common/cmd_jffs2.c
@@ -85,7 +85,7 @@
  */

 /*
- * JFFS2/CRAMFS support
+ * JFFS2/CRAMFS/ROMFS support
  */
 #include <common.h>
 #include <command.h>
@@ -175,6 +175,11 @@ extern int cramfs_load (char *loadoffset, struct part_info *info, char *filename
 extern int cramfs_ls (struct part_info *info, char *filename);
 extern int cramfs_info (struct part_info *info);

+extern int romfs_check (struct part_info *info);
+extern int romfs_load (char *loadoffset, struct part_info *info, char *filename);
+extern int romfs_ls (struct part_info *info, char *filename);
+extern int romfs_info (struct part_info *info);
+
 static struct part_info* jffs2_part_info(struct mtd_device *dev, unsigned int part_num);

 /* command line only routines */
@@ -1874,14 +1879,22 @@ int do_jffs2_fsload(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])

        if ((part = jffs2_part_info(current_dev, current_partnum))){

-               /* check partition type for cramfs */
-               fsname = (cramfs_check(part) ? "CRAMFS" : "JFFS2");
+               /* check partition type for JFFS2, cramfs, romfs */
+               if (cramfs_check(part)) {
+                       fsname = "CRAMFS";
+               } else if (romfs_check(part)) {
+                       fsname = "ROMFS";
+               } else {
+                       fsname = "JFFS2";
+               }
                printf("### %s loading '%s' to 0x%lx\n", fsname, filename, offset);

                if (cramfs_check(part)) {
                        size = cramfs_load ((char *) offset, part, filename);
+               } else if (romfs_check(part)){
+                       size = romfs_load ((char *) offset, part, filename);
                } else {
-                       /* if this is not cramfs assume jffs2 */
+                       /* if this is not cramfs or romfs assume jffs2 */
                        size = jffs2_1pass_load((char *)offset, part, filename);                }

@@ -1928,8 +1941,10 @@ int do_jffs2_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                /* check partition type for cramfs */
                if (cramfs_check(part)) {
                        ret = cramfs_ls (part, filename);
+               } else if (romfs_check(part)) {
+                       ret = romfs_ls (part, filename);
                } else {
-                       /* if this is not cramfs assume jffs2 */
+                       /* if this is not cramfs or romfs assume jffs2 */
                        ret = jffs2_1pass_ls(part, filename);
                }

@@ -1951,7 +1966,6 @@ int do_jffs2_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 int do_jffs2_fsinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
        struct part_info *part;
-       char *fsname;
        int ret;

        /* make sure we are in sync with env variables */
@@ -1961,13 +1975,17 @@ int do_jffs2_fsinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
        if ((part = jffs2_part_info(current_dev, current_partnum))){

                /* check partition type for cramfs */
-               fsname = (cramfs_check(part) ? "CRAMFS" : "JFFS2");
-               printf("### filesystem type is %s\n", fsname);
+               puts("### filesystem type is ");

                if (cramfs_check(part)) {
+                       puts("CRAMFS\n");
                        ret = cramfs_info (part);
+               } else if (romfs_check(part)) {
+                       puts("ROMFS\n");
+                       ret = romfs_info (part);
                } else {
-                       /* if this is not cramfs assume jffs2 */
+                       /* if this is not cramfs or romfs assume jffs2 */
+                       puts("JFFS2\n");
                        ret = jffs2_1pass_info(part);
                }

diff --git a/fs/Makefile b/fs/Makefile
index 273d90e..2e5cf90 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -22,7 +22,7 @@
 #
 #

-SUBDIRS        := jffs2 cramfs fdos fat reiserfs ext2
+SUBDIRS        := cramfs ext2 fat fdos jffs2 reiserfs romfs

 $(obj).depend all:
        @for dir in $(SUBDIRS) ; do \




More information about the U-Boot mailing list