tools/mkimage: fix compiler warnings, use "const"

This fixes some compiler warnings:
tools/default_image.c:141: warning: initialization from incompatible pointer type
tools/fit_image.c:202: warning: initialization from incompatible pointer type
and changes to code to use "const" attributes in a few places where
it's appropriate.

Signed-off-by: Wolfgang Denk <wd@denx.de>
master
Wolfgang Denk 15 years ago committed by Tom Rix
parent c7138920b8
commit c928d1dc89
  1. 39
      common/image.c
  2. 34
      include/image.h
  3. 2
      tools/mkimage.h

@ -65,7 +65,7 @@ extern int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
static image_header_t* image_get_ramdisk (ulong rd_addr, uint8_t arch, static const image_header_t* image_get_ramdisk (ulong rd_addr, uint8_t arch,
int verify); int verify);
#else #else
#include "mkimage.h" #include "mkimage.h"
@ -166,7 +166,7 @@ static void genimg_print_time (time_t timestamp);
/*****************************************************************************/ /*****************************************************************************/
/* Legacy format routines */ /* Legacy format routines */
/*****************************************************************************/ /*****************************************************************************/
int image_check_hcrc (image_header_t *hdr) int image_check_hcrc (const image_header_t *hdr)
{ {
ulong hcrc; ulong hcrc;
ulong len = image_get_header_size (); ulong len = image_get_header_size ();
@ -181,7 +181,7 @@ int image_check_hcrc (image_header_t *hdr)
return (hcrc == image_get_hcrc (hdr)); return (hcrc == image_get_hcrc (hdr));
} }
int image_check_dcrc (image_header_t *hdr) int image_check_dcrc (const image_header_t *hdr)
{ {
ulong data = image_get_data (hdr); ulong data = image_get_data (hdr);
ulong len = image_get_data_size (hdr); ulong len = image_get_data_size (hdr);
@ -203,7 +203,7 @@ int image_check_dcrc (image_header_t *hdr)
* returns: * returns:
* number of components * number of components
*/ */
ulong image_multi_count (image_header_t *hdr) ulong image_multi_count (const image_header_t *hdr)
{ {
ulong i, count = 0; ulong i, count = 0;
uint32_t *size; uint32_t *size;
@ -236,7 +236,7 @@ ulong image_multi_count (image_header_t *hdr)
* data address and size of the component, if idx is valid * data address and size of the component, if idx is valid
* 0 in data and len, if idx is out of range * 0 in data and len, if idx is out of range
*/ */
void image_multi_getimg (image_header_t *hdr, ulong idx, void image_multi_getimg (const image_header_t *hdr, ulong idx,
ulong *data, ulong *len) ulong *data, ulong *len)
{ {
int i; int i;
@ -272,7 +272,7 @@ void image_multi_getimg (image_header_t *hdr, ulong idx,
} }
} }
static void image_print_type (image_header_t *hdr) static void image_print_type (const image_header_t *hdr)
{ {
const char *os, *arch, *type, *comp; const char *os, *arch, *type, *comp;
@ -286,7 +286,7 @@ static void image_print_type (image_header_t *hdr)
/** /**
* image_print_contents - prints out the contents of the legacy format image * image_print_contents - prints out the contents of the legacy format image
* @hdr: pointer to the legacy format image header * @ptr: pointer to the legacy format image header
* @p: pointer to prefix string * @p: pointer to prefix string
* *
* image_print_contents() formats a multi line legacy image contents description. * image_print_contents() formats a multi line legacy image contents description.
@ -296,8 +296,9 @@ static void image_print_type (image_header_t *hdr)
* returns: * returns:
* no returned results * no returned results
*/ */
void image_print_contents (image_header_t *hdr) void image_print_contents (const void *ptr)
{ {
const image_header_t *hdr = (const image_header_t *)ptr;
const char *p; const char *p;
#ifdef USE_HOSTCC #ifdef USE_HOSTCC
@ -363,10 +364,10 @@ void image_print_contents (image_header_t *hdr)
* pointer to a ramdisk image header, if image was found and valid * pointer to a ramdisk image header, if image was found and valid
* otherwise, return NULL * otherwise, return NULL
*/ */
static image_header_t* image_get_ramdisk (ulong rd_addr, uint8_t arch, static const image_header_t *image_get_ramdisk (ulong rd_addr, uint8_t arch,
int verify) int verify)
{ {
image_header_t *rd_hdr = (image_header_t *)rd_addr; const image_header_t *rd_hdr = (const image_header_t *)rd_addr;
if (!image_check_magic (rd_hdr)) { if (!image_check_magic (rd_hdr)) {
puts ("Bad Magic Number\n"); puts ("Bad Magic Number\n");
@ -628,13 +629,13 @@ int genimg_get_comp_id (const char *name)
*/ */
int genimg_get_format (void *img_addr) int genimg_get_format (void *img_addr)
{ {
ulong format = IMAGE_FORMAT_INVALID; ulong format = IMAGE_FORMAT_INVALID;
image_header_t *hdr; const image_header_t *hdr;
#if defined(CONFIG_FIT) || defined(CONFIG_OF_LIBFDT) #if defined(CONFIG_FIT) || defined(CONFIG_OF_LIBFDT)
char *fit_hdr; char *fit_hdr;
#endif #endif
hdr = (image_header_t *)img_addr; hdr = (const image_header_t *)img_addr;
if (image_check_magic(hdr)) if (image_check_magic(hdr))
format = IMAGE_FORMAT_LEGACY; format = IMAGE_FORMAT_LEGACY;
#if defined(CONFIG_FIT) || defined(CONFIG_OF_LIBFDT) #if defined(CONFIG_FIT) || defined(CONFIG_OF_LIBFDT)
@ -685,7 +686,7 @@ ulong genimg_get_image (ulong img_addr)
/* get data size */ /* get data size */
switch (genimg_get_format ((void *)ram_addr)) { switch (genimg_get_format ((void *)ram_addr)) {
case IMAGE_FORMAT_LEGACY: case IMAGE_FORMAT_LEGACY:
d_size = image_get_data_size ((image_header_t *)ram_addr); d_size = image_get_data_size ((const image_header_t *)ram_addr);
debug (" Legacy format image found at 0x%08lx, size 0x%08lx\n", debug (" Legacy format image found at 0x%08lx, size 0x%08lx\n",
ram_addr, d_size); ram_addr, d_size);
break; break;
@ -762,7 +763,7 @@ int boot_get_ramdisk (int argc, char *argv[], bootm_headers_t *images,
{ {
ulong rd_addr, rd_load; ulong rd_addr, rd_load;
ulong rd_data, rd_len; ulong rd_data, rd_len;
image_header_t *rd_hdr; const image_header_t *rd_hdr;
#if defined(CONFIG_FIT) #if defined(CONFIG_FIT)
void *fit_hdr; void *fit_hdr;
const char *fit_uname_config = NULL; const char *fit_uname_config = NULL;
@ -1085,9 +1086,9 @@ static void fdt_error (const char *msg)
puts (" - must RESET the board to recover.\n"); puts (" - must RESET the board to recover.\n");
} }
static image_header_t *image_get_fdt (ulong fdt_addr) static const image_header_t *image_get_fdt (ulong fdt_addr)
{ {
image_header_t *fdt_hdr = (image_header_t *)fdt_addr; const image_header_t *fdt_hdr = (const image_header_t *)fdt_addr;
image_print_contents (fdt_hdr); image_print_contents (fdt_hdr);
@ -1283,8 +1284,8 @@ error:
int boot_get_fdt (int flag, int argc, char *argv[], bootm_headers_t *images, int boot_get_fdt (int flag, int argc, char *argv[], bootm_headers_t *images,
char **of_flat_tree, ulong *of_size) char **of_flat_tree, ulong *of_size)
{ {
const image_header_t *fdt_hdr;
ulong fdt_addr; ulong fdt_addr;
image_header_t *fdt_hdr;
char *fdt_blob = NULL; char *fdt_blob = NULL;
ulong image_start, image_end; ulong image_start, image_end;
ulong load_start, load_end; ulong load_start, load_end;

@ -333,7 +333,7 @@ static inline uint32_t image_get_header_size (void)
} }
#define image_get_hdr_l(f) \ #define image_get_hdr_l(f) \
static inline uint32_t image_get_##f(image_header_t *hdr) \ static inline uint32_t image_get_##f(const image_header_t *hdr) \
{ \ { \
return uimage_to_cpu (hdr->ih_##f); \ return uimage_to_cpu (hdr->ih_##f); \
} }
@ -346,7 +346,7 @@ image_get_hdr_l (ep); /* image_get_ep */
image_get_hdr_l (dcrc); /* image_get_dcrc */ image_get_hdr_l (dcrc); /* image_get_dcrc */
#define image_get_hdr_b(f) \ #define image_get_hdr_b(f) \
static inline uint8_t image_get_##f(image_header_t *hdr) \ static inline uint8_t image_get_##f(const image_header_t *hdr) \
{ \ { \
return hdr->ih_##f; \ return hdr->ih_##f; \
} }
@ -355,12 +355,12 @@ image_get_hdr_b (arch); /* image_get_arch */
image_get_hdr_b (type); /* image_get_type */ image_get_hdr_b (type); /* image_get_type */
image_get_hdr_b (comp); /* image_get_comp */ image_get_hdr_b (comp); /* image_get_comp */
static inline char *image_get_name (image_header_t *hdr) static inline char *image_get_name (const image_header_t *hdr)
{ {
return (char *)hdr->ih_name; return (char *)hdr->ih_name;
} }
static inline uint32_t image_get_data_size (image_header_t *hdr) static inline uint32_t image_get_data_size (const image_header_t *hdr)
{ {
return image_get_size (hdr); return image_get_size (hdr);
} }
@ -376,16 +376,16 @@ static inline uint32_t image_get_data_size (image_header_t *hdr)
* returns: * returns:
* image payload data start address * image payload data start address
*/ */
static inline ulong image_get_data (image_header_t *hdr) static inline ulong image_get_data (const image_header_t *hdr)
{ {
return ((ulong)hdr + image_get_header_size ()); return ((ulong)hdr + image_get_header_size ());
} }
static inline uint32_t image_get_image_size (image_header_t *hdr) static inline uint32_t image_get_image_size (const image_header_t *hdr)
{ {
return (image_get_size (hdr) + image_get_header_size ()); return (image_get_size (hdr) + image_get_header_size ());
} }
static inline ulong image_get_image_end (image_header_t *hdr) static inline ulong image_get_image_end (const image_header_t *hdr)
{ {
return ((ulong)hdr + image_get_image_size (hdr)); return ((ulong)hdr + image_get_image_size (hdr));
} }
@ -418,8 +418,8 @@ static inline void image_set_name (image_header_t *hdr, const char *name)
strncpy (image_get_name (hdr), name, IH_NMLEN); strncpy (image_get_name (hdr), name, IH_NMLEN);
} }
int image_check_hcrc (image_header_t *hdr); int image_check_hcrc (const image_header_t *hdr);
int image_check_dcrc (image_header_t *hdr); int image_check_dcrc (const image_header_t *hdr);
#ifndef USE_HOSTCC #ifndef USE_HOSTCC
int getenv_yesno (char *var); int getenv_yesno (char *var);
ulong getenv_bootm_low(void); ulong getenv_bootm_low(void);
@ -427,31 +427,31 @@ phys_size_t getenv_bootm_size(void);
void memmove_wd (void *to, void *from, size_t len, ulong chunksz); void memmove_wd (void *to, void *from, size_t len, ulong chunksz);
#endif #endif
static inline int image_check_magic (image_header_t *hdr) static inline int image_check_magic (const image_header_t *hdr)
{ {
return (image_get_magic (hdr) == IH_MAGIC); return (image_get_magic (hdr) == IH_MAGIC);
} }
static inline int image_check_type (image_header_t *hdr, uint8_t type) static inline int image_check_type (const image_header_t *hdr, uint8_t type)
{ {
return (image_get_type (hdr) == type); return (image_get_type (hdr) == type);
} }
static inline int image_check_arch (image_header_t *hdr, uint8_t arch) static inline int image_check_arch (const image_header_t *hdr, uint8_t arch)
{ {
return (image_get_arch (hdr) == arch); return (image_get_arch (hdr) == arch);
} }
static inline int image_check_os (image_header_t *hdr, uint8_t os) static inline int image_check_os (const image_header_t *hdr, uint8_t os)
{ {
return (image_get_os (hdr) == os); return (image_get_os (hdr) == os);
} }
ulong image_multi_count (image_header_t *hdr); ulong image_multi_count (const image_header_t *hdr);
void image_multi_getimg (image_header_t *hdr, ulong idx, void image_multi_getimg (const image_header_t *hdr, ulong idx,
ulong *data, ulong *len); ulong *data, ulong *len);
void image_print_contents (image_header_t *hdr); void image_print_contents (const void *hdr);
#ifndef USE_HOSTCC #ifndef USE_HOSTCC
static inline int image_check_target_arch (image_header_t *hdr) static inline int image_check_target_arch (const image_header_t *hdr)
{ {
#if defined(__ARM__) #if defined(__ARM__)
if (!image_check_arch (hdr, IH_ARCH_ARM)) if (!image_check_arch (hdr, IH_ARCH_ARM))

@ -104,7 +104,7 @@ struct image_type_params {
*/ */
int (*verify_header) (unsigned char *, int, struct mkimage_params *); int (*verify_header) (unsigned char *, int, struct mkimage_params *);
/* Prints image information abstracting from image header */ /* Prints image information abstracting from image header */
void (*print_header) (void *); void (*print_header) (const void *);
/* /*
* The header or image contents need to be set as per image type to * The header or image contents need to be set as per image type to
* be generated using this callback function. * be generated using this callback function.

Loading…
Cancel
Save