imximage: move flash_offset check to common location
authorTroy Kisky <troy.kisky@boundarydevices.com>
Wed, 3 Oct 2012 15:47:05 +0000 (15:47 +0000)
committerStefano Babic <sbabic@denx.de>
Sat, 20 Oct 2012 15:13:01 +0000 (17:13 +0200)
Both set_imx_hdr_v1 and set_imx_hdr_v2 perform the
same check. Move check to before the set_imx_hdr call.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Acked-by: Stefano Babic <sbabic@denx.de>
tools/imximage.c

index bda1a75..3e9ee6a 100644 (file)
@@ -203,13 +203,6 @@ static void set_imx_hdr_v1(struct imx_header *imxhdr, uint32_t dcd_len,
        dcd_v1_t *dcd_v1 = &hdr_v1->dcd_table;
        uint32_t base_offset;
 
-       /* Exit if there is no BOOT_FROM field specifying the flash_offset */
-       if(imxhdr->flash_offset == FLASH_OFFSET_UNDEFINED) {
-               fprintf(stderr, "Error: Header v1: No BOOT_FROM tag in %s\n",
-                       params->imagename);
-               exit(EXIT_FAILURE);
-       }
-
        /* Set magic number */
        fhdr_v1->app_code_barker = APP_CODE_BARKER;
 
@@ -243,13 +236,6 @@ static void set_imx_hdr_v2(struct imx_header *imxhdr, uint32_t dcd_len,
        imx_header_v2_t *hdr_v2 = &imxhdr->header.hdr_v2;
        flash_header_v2_t *fhdr_v2 = &hdr_v2->fhdr;
 
-       /* Exit if there is no BOOT_FROM field specifying the flash_offset */
-       if(imxhdr->flash_offset == FLASH_OFFSET_UNDEFINED) {
-               fprintf(stderr, "Error: Header v2: No BOOT_FROM tag in %s\n",
-                       params->imagename);
-               exit(EXIT_FAILURE);
-       }
-
        /* Set magic number */
        fhdr_v2->header.tag = IVT_HEADER_TAG; /* 0xD1 */
        fhdr_v2->header.length = cpu_to_be16(sizeof(flash_header_v2_t));
@@ -475,6 +461,11 @@ static uint32_t parse_cfg_file(struct imx_header *imxhdr, char *name)
        (*set_dcd_rst)(imxhdr, dcd_len, name, lineno);
        fclose(fd);
 
+       /* Exit if there is no BOOT_FROM field specifying the flash_offset */
+       if (imxhdr->flash_offset == FLASH_OFFSET_UNDEFINED) {
+               fprintf(stderr, "Error: No BOOT_FROM tag in %s\n", name);
+               exit(EXIT_FAILURE);
+       }
        return dcd_len;
 }