ext_man: Make extended manifest build optional

Try to build extended manifest only when `e` flag will be set,
to prevent error and warning printing during creating optional
part of formware image.

Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
This commit is contained in:
Karol Trzcinski 2020-04-22 13:32:40 +02:00 committed by Liam Girdwood
parent 328867431c
commit 76b6301e57
1 changed files with 14 additions and 7 deletions

View File

@ -42,6 +42,7 @@ static void usage(char *name)
fprintf(stdout, "\t -x set xcc module offset\n"); fprintf(stdout, "\t -x set xcc module offset\n");
fprintf(stdout, "\t -f firmware version = x.y\n"); fprintf(stdout, "\t -f firmware version = x.y\n");
fprintf(stdout, "\t -b build version\n"); fprintf(stdout, "\t -b build version\n");
fprintf(stdout, "\t -e build extended manifest\n");
exit(0); exit(0);
} }
@ -51,12 +52,13 @@ int main(int argc, char *argv[])
const char *mach = NULL; const char *mach = NULL;
int opt, ret, i, elf_argc = 0; int opt, ret, i, elf_argc = 0;
int imr_type = MAN_DEFAULT_IMR_TYPE; int imr_type = MAN_DEFAULT_IMR_TYPE;
int use_ext_man = 0;
memset(&image, 0, sizeof(image)); memset(&image, 0, sizeof(image));
image.xcc_mod_offset = DEFAULT_XCC_MOD_OFFSET; image.xcc_mod_offset = DEFAULT_XCC_MOD_OFFSET;
while ((opt = getopt(argc, argv, "ho:m:va:s:k:l:ri:x:f:b:")) != -1) { while ((opt = getopt(argc, argv, "ho:m:va:s:k:l:ri:x:f:b:e")) != -1) {
switch (opt) { switch (opt) {
case 'o': case 'o':
image.out_file = optarg; image.out_file = optarg;
@ -91,6 +93,9 @@ int main(int argc, char *argv[])
case 'b': case 'b':
image.fw_ver_build_string = optarg; image.fw_ver_build_string = optarg;
break; break;
case 'e':
use_ext_man = 1;
break;
case 'h': case 'h':
usage(argv[0]); usage(argv[0]);
break; break;
@ -191,12 +196,14 @@ found:
if (ret) if (ret)
goto out; goto out;
/* build extended manifest */
if (use_ext_man) {
ret = ext_man_write(&image); ret = ext_man_write(&image);
if (ret < 0) { if (ret < 0) {
fprintf(stderr, "warning: unable to write extended manifest, %d\n", fprintf(stderr, "error: unable to write extended manifest, %d\n",
ret); ret);
/* ext man is optional until FW side merge to master */ goto out;
ret = 0; }
} }
out: out: