int ubifs_ls(char *dir_name);
int ubifs_load(char *filename, u32 addr, u32 size);
-int do_ubifs_mount(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_ubifs_mount(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
char *vol_name;
int ret;
+ if (argc != 2)
+ return cmd_usage(cmdtp);
+
vol_name = argv[1];
debug("Using volume %s\n", vol_name);
return 0;
}
-int do_ubifs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_ubifs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
char *filename = "/";
int ret;
return ret;
}
-int do_ubifs_load(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_ubifs_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
char *filename;
+ char *endp;
int ret;
u32 addr;
u32 size = 0;
return -1;
}
- if (argc < 3) {
- printf("Usage:\n%s\n", cmdtp->usage);
- return -1;
- }
+ if (argc < 3)
+ return cmd_usage(cmdtp);
+
+ addr = simple_strtoul(argv[1], &endp, 16);
+ if (endp == argv[1])
+ return cmd_usage(cmdtp);
- addr = simple_strtoul(argv[1], NULL, 16);
filename = argv[2];
- if (argc == 4)
- size = simple_strtoul(argv[3], NULL, 16);
+ if (argc == 4) {
+ size = simple_strtoul(argv[3], &endp, 16);
+ if (endp == argv[3])
+ return cmd_usage(cmdtp);
+ }
debug("Loading file '%s' to address 0x%08x (size %d)\n", filename, addr, size);
ret = ubifs_load(filename, addr, size);
U_BOOT_CMD(
ubifsmount, 2, 0, do_ubifs_mount,
"mount UBIFS volume",
- "\n");
+ "<volume-name>\n"
+ " - mount 'volume-name' volume"
+);
U_BOOT_CMD(ubifsls, 2, 0, do_ubifs_ls,
- "list files in a directory",
- "[directory]\n"
- " - list files in a 'directory' (default '/')\n");
+ "list files in a directory",
+ "[directory]\n"
+ " - list files in a 'directory' (default '/')"
+);
U_BOOT_CMD(ubifsload, 4, 0, do_ubifs_load,
- "load file from an UBIFS filesystem",
- "<addr> <filename> [bytes]\n"
- " - load file 'filename' to address 'addr'\n");
+ "load file from an UBIFS filesystem",
+ "<addr> <filename> [bytes]\n"
+ " - load file 'filename' to address 'addr'"
+);