cmd: ubi: add option to specify volume id
PATCH 1/1 cmd: ubi: add option to specify volume id
Signed-off-by Ladislav Michl <[email protected]>
---
cmd/ubi.c +11 -4
@@ -162,7 +162,7 @@ bad: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;int err;
@@ -172,7 +172,7 @@ static int ubi_create_vol(char *volume, int64_t size, int dynamic)else req.vol_type =UBI_STATIC_VOLUME ; - req.vol_id =UBI_VOL_NUM_AUTO ; + req.vol_id = vol_id; req.alignment =1 ; 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 ) {int dynamic =1 ;/* default: dynamic volume */ +int id =UBI_VOL_NUM_AUTO ;/* Use maximum available size */ 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 */ if (argc ==5 ) {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 */ 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 ) {
@@ -684,7 +691,7 @@ U_BOOT_CMD(" - Display volume and ubi layout information\n" "ubi check volumename" " - check if volumename exists\n" -"ubi create[vol] volume [size] [type]" +"ubi create[vol] volume [size] [type] [id]" " - create volume name with size\n" "ubi write[vol] address volume size" " - Write volume from address with size\n"
Signature · 1 line
2.1.4