]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - tools/mxsimage.c
sniper: Pass serial number through ATAG
[karo-tx-uboot.git] / tools / mxsimage.c
index 81c7f2d4c553f525022613d5a223618e1b5aaf15..98fc64491c7d9f56591858f075020eed7d911ca2 100644 (file)
@@ -125,7 +125,7 @@ struct sb_image_ctx {
        unsigned int                    in_section:1;
        unsigned int                    in_dcd:1;
        /* Image configuration */
-       unsigned int                    verbose_boot:1;
+       unsigned int                    display_progress:1;
        unsigned int                    silent_dump:1;
        char                            *input_filename;
        char                            *output_filename;
@@ -1308,8 +1308,8 @@ static int sb_prefill_image_header(struct sb_image_ctx *ictx)
                sizeof(struct sb_sections_header) / SB_BLOCK_SIZE;
        hdr->timestamp_us = sb_get_timestamp() * 1000000;
 
-       /* FIXME -- add proper config option */
-       hdr->flags = ictx->verbose_boot ? SB_IMAGE_FLAG_VERBOSE : 0,
+       hdr->flags = ictx->display_progress ?
+               SB_IMAGE_FLAG_DISPLAY_PROGRESS : 0;
 
        /* FIXME -- We support only default key */
        hdr->key_count = 1;
@@ -1416,7 +1416,7 @@ static int sb_parse_line(struct sb_image_ctx *ictx, struct sb_cmd_list *cmd)
 {
        char *tok;
        char *line = cmd->cmd;
-       char *rptr;
+       char *rptr = NULL;
        int ret;
 
        /* Analyze the identifier on this line first. */
@@ -1428,6 +1428,12 @@ static int sb_parse_line(struct sb_image_ctx *ictx, struct sb_cmd_list *cmd)
 
        cmd->cmd = rptr;
 
+       /* set DISPLAY_PROGRESS flag */
+       if (!strcmp(tok, "DISPLAYPROGRESS")) {
+               ictx->display_progress = 1;
+               return 0;
+       }
+
        /* DCD */
        if (!strcmp(tok, "DCD")) {
                ictx->in_section = 0;
@@ -1681,10 +1687,11 @@ static int sb_verify_image_header(struct sb_image_ctx *ictx,
                 ntohs(hdr->component_version.minor),
                 ntohs(hdr->component_version.revision));
 
-       if (hdr->flags & ~SB_IMAGE_FLAG_VERBOSE)
+       if (hdr->flags & ~SB_IMAGE_FLAGS_MASK)
                ret = -EINVAL;
        soprintf(ictx, "%s Image flags:                  %s\n", stat[!!ret],
-                hdr->flags & SB_IMAGE_FLAG_VERBOSE ? "Verbose_boot" : "");
+                hdr->flags & SB_IMAGE_FLAG_DISPLAY_PROGRESS ?
+                "Display_progress" : "");
        if (ret)
                return ret;
 
@@ -2287,7 +2294,6 @@ static int mxsimage_generate(struct image_tool_params *params,
 
        ctx.cfg_filename = params->imagename;
        ctx.output_filename = params->imagefile;
-       ctx.verbose_boot = 1;
 
        ret = sb_build_tree_from_cfg(&ctx);
        if (ret)
@@ -2306,25 +2312,18 @@ fail:
 /*
  * mxsimage parameters
  */
-static struct image_type_params mxsimage_params = {
-       .name           = "Freescale MXS Boot Image support",
-       .header_size    = 0,
-       .hdr            = NULL,
-       .check_image_type = mxsimage_check_image_types,
-       .verify_header  = mxsimage_verify_header,
-       .print_header   = mxsimage_print_header,
-       .set_header     = mxsimage_set_header,
-       .check_params   = mxsimage_check_params,
-       .vrec_header    = mxsimage_generate,
-};
-
-void init_mxs_image_type(void)
-{
-       register_image_type(&mxsimage_params);
-}
-
-#else
-void init_mxs_image_type(void)
-{
-}
+U_BOOT_IMAGE_TYPE(
+       mxsimage,
+       "Freescale MXS Boot Image support",
+       0,
+       NULL,
+       mxsimage_check_params,
+       mxsimage_verify_header,
+       mxsimage_print_header,
+       mxsimage_set_header,
+       NULL,
+       mxsimage_check_image_types,
+       NULL,
+       mxsimage_generate
+);
 #endif