ata: dwc_ahsata: Add ahci driver model support
[oweals/u-boot.git] / tools / imx8image.c
index 03debe547e62d1aa7172630598bca32df7583648..1b428c3b2fd4a803577c6429508c503d03b1b5c2 100644 (file)
@@ -555,7 +555,8 @@ static void set_image_array_entry(flash_header_v3_t *container,
                } else if (soc == QM && core == CORE_CA72) {
                        meta = IMAGE_A72_DEFAULT_META(custom_partition);
                } else {
-                       fprintf(stderr, "Error: invalid AP core id: %lu\n",
+                       fprintf(stderr,
+                               "Error: invalid AP core id: %" PRIu64 "\n",
                                core);
                        exit(EXIT_FAILURE);
                }
@@ -577,7 +578,9 @@ static void set_image_array_entry(flash_header_v3_t *container,
                        core = CORE_CM4_1;
                        meta = IMAGE_M4_1_DEFAULT_META(custom_partition);
                } else {
-                       fprintf(stderr, "Error: invalid m4 core id: %lu\n", core);
+                       fprintf(stderr,
+                               "Error: invalid m4 core id: %" PRIu64 "\n",
+                               core);
                        exit(EXIT_FAILURE);
                }
                img->hab_flags |= IMG_TYPE_EXEC;
@@ -666,13 +669,15 @@ static int get_container_image_start_pos(image_t *image_stack, uint32_t align)
                        }
 
                        ret = fread(&header, sizeof(header), 1, fd);
-                       if (ret != 1)
+                       if (ret != 1) {
                                printf("Failure Read header %d\n", ret);
+                               exit(EXIT_FAILURE);
+                       }
 
                        fclose(fd);
 
                        if (header.tag != IVT_HEADER_TAG_B0) {
-                               fprintf(stderr, "header tag missmatched \n");
+                               fprintf(stderr, "header tag mismatched \n");
                                exit(EXIT_FAILURE);
                        } else {
                                file_off +=
@@ -810,6 +815,10 @@ static int build_container(soc_type_t soc, uint32_t sector_size,
                case SCFW:
                case DATA:
                case MSG_BLOCK:
+                       if (container < 0) {
+                               fprintf(stderr, "No container found\n");
+                               exit(EXIT_FAILURE);
+                       }
                        check_file(&sbuf, img_sp->filename);
                        tmp_filename = img_sp->filename;
                        set_image_array_entry(&imx_header.fhdr[container],
@@ -823,6 +832,10 @@ static int build_container(soc_type_t soc, uint32_t sector_size,
                        break;
 
                case SECO:
+                       if (container < 0) {
+                               fprintf(stderr, "No container found\n");
+                               exit(EXIT_FAILURE);
+                       }
                        check_file(&sbuf, img_sp->filename);
                        tmp_filename = img_sp->filename;
                        set_image_array_entry(&imx_header.fhdr[container],
@@ -904,17 +917,19 @@ static int build_container(soc_type_t soc, uint32_t sector_size,
                exit(EXIT_FAILURE);
        }
 
-       /* Note: Image offset are not contained in the image */
-       tmp = flatten_container_header(&imx_header, container + 1, &size,
-                                      file_padding);
-       /* Write image header */
-       if (write(ofd, tmp, size) != size) {
-               fprintf(stderr, "error writing image hdr\n");
-               exit(EXIT_FAILURE);
-       }
+       if (container >= 0) {
+               /* Note: Image offset are not contained in the image */
+               tmp = flatten_container_header(&imx_header, container + 1,
+                                              &size, file_padding);
+               /* Write image header */
+               if (write(ofd, tmp, size) != size) {
+                       fprintf(stderr, "error writing image hdr\n");
+                       exit(EXIT_FAILURE);
+               }
 
-       /* Clean-up memory used by the headers */
-       free(tmp);
+               /* Clean-up memory used by the headers */
+               free(tmp);
+       }
 
        /*
         * step through the image stack again this time copying