tools: mkimage: use common ALIGN to do the size align
[oweals/u-boot.git] / tools / aisimage.c
index 980bf2e1a7b9c700389df00a57525c8cf78cf63c..b8b3ee32070f6ac0327a40a7d412b91ab00f9f12 100644 (file)
@@ -1,17 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * (C) Copyright 2011
  * Stefano Babic, DENX Software Engineering, sbabic@denx.de.
- *
- * SPDX-License-Identifier:    GPL-2.0+ 
  */
 
-#include "mkimage.h"
+#include "imagetool.h"
 #include "aisimage.h"
 #include <image.h>
 
 #define IS_FNC_EXEC(c) (cmd_table[c].AIS_cmd == AIS_CMD_FNLOAD)
 #define WORD_ALIGN0    4
-#define WORD_ALIGN(len) (((len)+WORD_ALIGN0-1) & ~(WORD_ALIGN0-1))
 #define MAX_CMD_BUFFER 4096
 
 static uint32_t ais_img_size;
@@ -176,7 +174,7 @@ static uint32_t *ais_insert_cmd_header(uint32_t cmd, uint32_t nargs,
 
 }
 
-static uint32_t *ais_alloc_buffer(struct mkimage_params *params)
+static uint32_t *ais_alloc_buffer(struct image_tool_params *params)
 {
        int dfd;
        struct stat sbuf;
@@ -203,8 +201,9 @@ static uint32_t *ais_alloc_buffer(struct mkimage_params *params)
         * is not left to the main program, because after the datafile
         * the header must be terminated with the Jump & Close command.
         */
-       ais_img_size = WORD_ALIGN(sbuf.st_size) + MAX_CMD_BUFFER;
-       ptr = (uint32_t *)malloc(WORD_ALIGN(sbuf.st_size) + MAX_CMD_BUFFER);
+       ais_img_size = ALIGN(sbuf.st_size, WORD_ALIGN0) + MAX_CMD_BUFFER;
+       ptr = (uint32_t *)malloc(ALIGN(sbuf.st_size, WORD_ALIGN0)
+                       + MAX_CMD_BUFFER);
        if (!ptr) {
                fprintf(stderr, "%s: malloc return failure: %s\n",
                        params->cmdname, strerror(errno));
@@ -216,7 +215,7 @@ static uint32_t *ais_alloc_buffer(struct mkimage_params *params)
        return ptr;
 }
 
-static uint32_t *ais_copy_image(struct mkimage_params *params,
+static uint32_t *ais_copy_image(struct image_tool_params *params,
        uint32_t *aisptr)
 
 {
@@ -243,7 +242,7 @@ static uint32_t *ais_copy_image(struct mkimage_params *params,
        *aisptr++ = params->ep;
        *aisptr++ = sbuf.st_size;
        memcpy((void *)aisptr, ptr, sbuf.st_size);
-       aisptr += WORD_ALIGN(sbuf.st_size) / sizeof(uint32_t);
+       aisptr += ALIGN(sbuf.st_size, WORD_ALIGN0) / sizeof(uint32_t);
 
        (void) munmap((void *)ptr, sbuf.st_size);
        (void) close(dfd);
@@ -252,7 +251,7 @@ static uint32_t *ais_copy_image(struct mkimage_params *params,
 
 }
 
-static int aisimage_generate(struct mkimage_params *params,
+static int aisimage_generate(struct image_tool_params *params,
        struct image_type_params *tparams)
 {
        FILE *fd = NULL;
@@ -370,7 +369,7 @@ static int aisimage_check_image_types(uint8_t type)
 }
 
 static int aisimage_verify_header(unsigned char *ptr, int image_size,
-                       struct mkimage_params *params)
+                       struct image_tool_params *params)
 {
        struct ais_header *ais_hdr = (struct ais_header *)ptr;
 
@@ -384,11 +383,11 @@ static int aisimage_verify_header(unsigned char *ptr, int image_size,
 }
 
 static void aisimage_set_header(void *ptr, struct stat *sbuf, int ifd,
-                               struct mkimage_params *params)
+                               struct image_tool_params *params)
 {
 }
 
-int aisimage_check_params(struct mkimage_params *params)
+int aisimage_check_params(struct image_tool_params *params)
 {
        if (!params)
                return CFG_INVALID;
@@ -413,19 +412,17 @@ int aisimage_check_params(struct mkimage_params *params)
 /*
  * aisimage parameters
  */
-static struct image_type_params aisimage_params = {
-       .name           = "TI Davinci AIS Boot Image support",
-       .header_size    = 0,
-       .hdr            = NULL,
-       .check_image_type = aisimage_check_image_types,
-       .verify_header  = aisimage_verify_header,
-       .print_header   = aisimage_print_header,
-       .set_header     = aisimage_set_header,
-       .check_params   = aisimage_check_params,
-       .vrec_header    = aisimage_generate,
-};
-
-void init_ais_image_type(void)
-{
-       mkimage_register(&aisimage_params);
-}
+U_BOOT_IMAGE_TYPE(
+       aisimage,
+       "TI Davinci AIS Boot Image support",
+       0,
+       NULL,
+       aisimage_check_params,
+       aisimage_verify_header,
+       aisimage_print_header,
+       aisimage_set_header,
+       NULL,
+       aisimage_check_image_types,
+       NULL,
+       aisimage_generate
+);