cmd: ubi: add option to specify volume id
Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
This commit is contained in:
parent
cbe7706ab8
commit
0061242236
15
cmd/ubi.c
15
cmd/ubi.c
|
@ -162,7 +162,7 @@ bad:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ubi_create_vol(char *volume, int64_t size, int dynamic)
|
static int ubi_create_vol(char *volume, int64_t size, int dynamic, int vol_id)
|
||||||
{
|
{
|
||||||
struct ubi_mkvol_req req;
|
struct ubi_mkvol_req req;
|
||||||
int err;
|
int err;
|
||||||
|
@ -172,7 +172,7 @@ static int ubi_create_vol(char *volume, int64_t size, int dynamic)
|
||||||
else
|
else
|
||||||
req.vol_type = UBI_STATIC_VOLUME;
|
req.vol_type = UBI_STATIC_VOLUME;
|
||||||
|
|
||||||
req.vol_id = UBI_VOL_NUM_AUTO;
|
req.vol_id = vol_id;
|
||||||
req.alignment = 1;
|
req.alignment = 1;
|
||||||
req.bytes = size;
|
req.bytes = size;
|
||||||
|
|
||||||
|
@ -577,10 +577,17 @@ static int do_ubi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
|
|
||||||
if (strncmp(argv[1], "create", 6) == 0) {
|
if (strncmp(argv[1], "create", 6) == 0) {
|
||||||
int dynamic = 1; /* default: dynamic volume */
|
int dynamic = 1; /* default: dynamic volume */
|
||||||
|
int id = UBI_VOL_NUM_AUTO;
|
||||||
|
|
||||||
/* Use maximum available size */
|
/* Use maximum available size */
|
||||||
size = 0;
|
size = 0;
|
||||||
|
|
||||||
|
/* E.g., create volume size type vol_id */
|
||||||
|
if (argc == 6) {
|
||||||
|
id = simple_strtoull(argv[5], NULL, 16);
|
||||||
|
argc--;
|
||||||
|
}
|
||||||
|
|
||||||
/* E.g., create volume size type */
|
/* E.g., create volume size type */
|
||||||
if (argc == 5) {
|
if (argc == 5) {
|
||||||
if (strncmp(argv[4], "s", 1) == 0)
|
if (strncmp(argv[4], "s", 1) == 0)
|
||||||
|
@ -603,7 +610,7 @@ static int do_ubi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
}
|
}
|
||||||
/* E.g., create volume */
|
/* E.g., create volume */
|
||||||
if (argc == 3)
|
if (argc == 3)
|
||||||
return ubi_create_vol(argv[2], size, dynamic);
|
return ubi_create_vol(argv[2], size, dynamic, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strncmp(argv[1], "remove", 6) == 0) {
|
if (strncmp(argv[1], "remove", 6) == 0) {
|
||||||
|
@ -684,7 +691,7 @@ U_BOOT_CMD(
|
||||||
" - Display volume and ubi layout information\n"
|
" - Display volume and ubi layout information\n"
|
||||||
"ubi check volumename"
|
"ubi check volumename"
|
||||||
" - check if volumename exists\n"
|
" - check if volumename exists\n"
|
||||||
"ubi create[vol] volume [size] [type]"
|
"ubi create[vol] volume [size] [type] [id]"
|
||||||
" - create volume name with size\n"
|
" - create volume name with size\n"
|
||||||
"ubi write[vol] address volume size"
|
"ubi write[vol] address volume size"
|
||||||
" - Write volume from address with size\n"
|
" - Write volume from address with size\n"
|
||||||
|
|
Loading…
Reference in New Issue