]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/cmd_ubifs.c
x86: Add CBMEM console driver for coreboot
[karo-tx-uboot.git] / common / cmd_ubifs.c
index 30b23d31008d4d7a9ab10c09447a0d3c56b2f47b..7752123cd86727099104d7c1f36a2fdf992bfb08 100644 (file)
@@ -53,7 +53,7 @@ int do_ubifs_mount(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        int ret;
 
        if (argc != 2)
-               return cmd_usage(cmdtp);
+               return CMD_RET_USAGE;
 
        vol_name = argv[1];
        debug("Using volume %s\n", vol_name);
@@ -72,22 +72,36 @@ int do_ubifs_mount(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        return 0;
 }
 
+int ubifs_is_mounted(void)
+{
+       return ubifs_mounted;
+}
+
+void cmd_ubifs_umount(void)
+{
+
+       if (ubifs_sb) {
+               printf("Unmounting UBIFS volume %s!\n",
+                      ((struct ubifs_info *)(ubifs_sb->s_fs_info))->vi.name);
+               ubifs_umount(ubifs_sb->s_fs_info);
+       }
+
+       ubifs_sb = NULL;
+       ubifs_mounted = 0;
+       ubifs_initialized = 0;
+}
+
 int do_ubifs_umount(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        if (argc != 1)
-               return cmd_usage(cmdtp);
+               return CMD_RET_USAGE;
 
        if (ubifs_initialized == 0) {
                printf("No UBIFS volume mounted!\n");
                return -1;
        }
 
-       if (ubifs_sb)
-               ubifs_umount(ubifs_sb->s_fs_info);
-
-       ubifs_sb = NULL;
-       ubifs_mounted = 0;
-       ubifs_initialized = 0;
+       cmd_ubifs_umount();
 
        return 0;
 }
@@ -98,7 +112,7 @@ int do_ubifs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        int ret;
 
        if (!ubifs_mounted) {
-               printf("UBIFS not mounted, use ubifs mount to mount volume first!\n");
+               printf("UBIFS not mounted, use ubifsmount to mount volume first!\n");
                return -1;
        }
 
@@ -127,18 +141,18 @@ int do_ubifs_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        }
 
        if (argc < 3)
-               return cmd_usage(cmdtp);
+               return CMD_RET_USAGE;
 
        addr = simple_strtoul(argv[1], &endp, 16);
        if (endp == argv[1])
-               return cmd_usage(cmdtp);
+               return CMD_RET_USAGE;
 
        filename = argv[2];
 
        if (argc == 4) {
                size = simple_strtoul(argv[3], &endp, 16);
                if (endp == argv[3])
-                       return cmd_usage(cmdtp);
+                       return CMD_RET_USAGE;
        }
        debug("Loading file '%s' to address 0x%08x (size %d)\n", filename, addr, size);