mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-20 03:44:55 +00:00
ubi: add new ubi command "ubi detach"
simple detachs ubi from the mtd partition. Signed-off-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
parent
3c5d51fffc
commit
cddfc97d1f
1 changed files with 27 additions and 11 deletions
38
cmd/ubi.c
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…
Add table
Reference in a new issue