ubi: add new ubi command "ubi detach"

simple detachs ubi from the mtd partition.

Signed-off-by: Heiko Schocher <hs@denx.de>
master
Heiko Schocher 8 years ago committed by Tom Rini
parent 3c5d51fffc
commit cddfc97d1f
  1. 38
      cmd/ubi.c

@ -443,14 +443,8 @@ static int ubi_dev_scan(struct mtd_info *info, char *ubidev,
return 0; return 0;
} }
int ubi_part(char *part_name, const char *vid_header_offset) int ubi_detach(void)
{ {
int err = 0;
char mtd_dev[16];
struct mtd_device *dev;
struct part_info *part;
u8 pnum;
if (mtdparts_init() != 0) { if (mtdparts_init() != 0) {
printf("Error initializing mtdparts!\n"); printf("Error initializing mtdparts!\n");
return 1; return 1;
@ -466,17 +460,28 @@ int ubi_part(char *part_name, const char *vid_header_offset)
cmd_ubifs_umount(); cmd_ubifs_umount();
#endif #endif
/* todo: get dev number for NAND... */
ubi_dev.nr = 0;
/* /*
* Call ubi_exit() before re-initializing the UBI subsystem * Call ubi_exit() before re-initializing the UBI subsystem
*/ */
if (ubi_initialized) { if (ubi_initialized) {
ubi_exit(); ubi_exit();
del_mtd_partitions(ubi_dev.mtd_info); del_mtd_partitions(ubi_dev.mtd_info);
ubi_initialized = 0;
} }
ubi_dev.selected = 0;
return 0;
}
int ubi_part(char *part_name, const char *vid_header_offset)
{
int err = 0;
char mtd_dev[16];
struct mtd_device *dev;
struct part_info *part;
u8 pnum;
ubi_detach();
/* /*
* Search the mtd device number where this partition * Search the mtd device number where this partition
* is located * is located
@ -517,6 +522,15 @@ static int do_ubi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if (argc < 2) if (argc < 2)
return CMD_RET_USAGE; return CMD_RET_USAGE;
if (strcmp(argv[1], "detach") == 0) {
if (argc < 2)
return CMD_RET_USAGE;
return ubi_detach();
}
if (strcmp(argv[1], "part") == 0) { if (strcmp(argv[1], "part") == 0) {
const char *vid_header_offset = NULL; const char *vid_header_offset = NULL;
@ -661,7 +675,9 @@ static int do_ubi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
U_BOOT_CMD( U_BOOT_CMD(
ubi, 6, 1, do_ubi, ubi, 6, 1, do_ubi,
"ubi commands", "ubi commands",
"part [part] [offset]\n" "detach"
" - detach ubi from a mtd partition\n"
"ubi part [part] [offset]\n"
" - Show or set current partition (with optional VID" " - Show or set current partition (with optional VID"
" header offset)\n" " header offset)\n"
"ubi info [l[ayout]]" "ubi info [l[ayout]]"

Loading…
Cancel
Save