> -----Original Message----- > From: u-boot-boun...@lists.denx.de > [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Wolfgang Denk > Sent: Wednesday, August 19, 2009 3:24 PM > To: u-boot@lists.denx.de > Subject: [U-Boot] [PATCH "mkimage" branch] 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. Dear Wolfgang 99% of the changes in this patch is to add const attributes. Can you pls explain here- how useful it is to add const. Or do it make more sense just to fix the warnings in respective functions? I have posted a patch for the same
For ex. Regards.. Prafulla . . > > Signed-off-by: Wolfgang Denk <w...@denx.de> > --- > common/image.c | 39 ++++++++++++++++++++------------------- > include/image.h | 34 +++++++++++++++++----------------- > tools/mkimage.h | 2 +- > 3 files changed, 38 insertions(+), 37 deletions(-) > > diff --git a/common/image.c b/common/image.c > index e22c974..f3dd647 100644 > --- a/common/image.c > +++ b/common/image.c > @@ -65,7 +65,7 @@ extern int do_bdinfo(cmd_tbl_t *cmdtp, int > flag, int argc, char *argv[]); > > 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); > #else > #include "mkimage.h" > @@ -166,7 +166,7 @@ static void genimg_print_time (time_t timestamp); > > /************************************************************* > ****************/ > /* Legacy format routines */ > > /************************************************************* > ****************/ > -int image_check_hcrc (image_header_t *hdr) > +int image_check_hcrc (const image_header_t *hdr) > { > ulong hcrc; > ulong len = image_get_header_size (); > @@ -181,7 +181,7 @@ int image_check_hcrc (image_header_t *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 len = image_get_data_size (hdr); > @@ -203,7 +203,7 @@ int image_check_dcrc (image_header_t *hdr) > * returns: > * number of components > */ > -ulong image_multi_count (image_header_t *hdr) > +ulong image_multi_count (const image_header_t *hdr) > { > ulong i, count = 0; > 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 > * 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) > { > 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; > > @@ -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 > - * @hdr: pointer to the legacy format image header > + * @ptr: pointer to the legacy format image header > * @p: pointer to prefix string > * > * 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: > * 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; > > #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 > * 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) > { > - 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)) { > puts ("Bad Magic Number\n"); > @@ -628,13 +629,13 @@ int genimg_get_comp_id (const char *name) > */ > int genimg_get_format (void *img_addr) > { > - ulong format = IMAGE_FORMAT_INVALID; > - image_header_t *hdr; > + ulong format = IMAGE_FORMAT_INVALID; > + const image_header_t *hdr; > #if defined(CONFIG_FIT) || defined(CONFIG_OF_LIBFDT) > - char *fit_hdr; > + char *fit_hdr; > #endif > > - hdr = (image_header_t *)img_addr; > + hdr = (const image_header_t *)img_addr; > if (image_check_magic(hdr)) > format = IMAGE_FORMAT_LEGACY; > #if defined(CONFIG_FIT) || defined(CONFIG_OF_LIBFDT) > @@ -685,7 +686,7 @@ ulong genimg_get_image (ulong img_addr) > /* get data size */ > switch (genimg_get_format ((void *)ram_addr)) { > 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", > ram_addr, d_size); > break; > @@ -762,7 +763,7 @@ int boot_get_ramdisk (int argc, char > *argv[], bootm_headers_t *images, > { > ulong rd_addr, rd_load; > ulong rd_data, rd_len; > - image_header_t *rd_hdr; > + const image_header_t *rd_hdr; > #if defined(CONFIG_FIT) > void *fit_hdr; > 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"); > } > > -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); > > @@ -1283,8 +1284,8 @@ error: > int boot_get_fdt (int flag, int argc, char *argv[], > bootm_headers_t *images, > char **of_flat_tree, ulong *of_size) > { > + const image_header_t *fdt_hdr; > ulong fdt_addr; > - image_header_t *fdt_hdr; > char *fdt_blob = NULL; > ulong image_start, image_end; > ulong load_start, load_end; > diff --git a/include/image.h b/include/image.h > index beb3a16..a62669f 100644 > --- a/include/image.h > +++ b/include/image.h > @@ -333,7 +333,7 @@ static inline uint32_t > image_get_header_size (void) > } > > #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); \ > } > @@ -346,7 +346,7 @@ image_get_hdr_l (ep); /* > image_get_ep */ > image_get_hdr_l (dcrc); /* image_get_dcrc */ > > #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; \ > } > @@ -355,12 +355,12 @@ image_get_hdr_b (arch); /* > image_get_arch */ > image_get_hdr_b (type); /* image_get_type */ > 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; > } > > -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); > } > @@ -376,16 +376,16 @@ static inline uint32_t > image_get_data_size (image_header_t *hdr) > * returns: > * 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 ()); > } > > -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 ()); > } > -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)); > } > @@ -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); > } > > -int image_check_hcrc (image_header_t *hdr); > -int image_check_dcrc (image_header_t *hdr); > +int image_check_hcrc (const image_header_t *hdr); > +int image_check_dcrc (const image_header_t *hdr); > #ifndef USE_HOSTCC > int getenv_yesno (char *var); > 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); > #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); > } > -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); > } > -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); > } > -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); > } > > -ulong image_multi_count (image_header_t *hdr); > -void image_multi_getimg (image_header_t *hdr, ulong idx, > +ulong image_multi_count (const image_header_t *hdr); > +void image_multi_getimg (const image_header_t *hdr, ulong idx, > ulong *data, ulong *len); > > -void image_print_contents (image_header_t *hdr); > +void image_print_contents (const void *hdr); > > #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 (!image_check_arch (hdr, IH_ARCH_ARM)) > diff --git a/tools/mkimage.h b/tools/mkimage.h > index a9295b6..1e92825 100644 > --- a/tools/mkimage.h > +++ b/tools/mkimage.h > @@ -105,7 +105,7 @@ struct image_type_params { > */ > int (*verify_header) (unsigned char *, int, struct > mkimage_params *); > /* 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 > * be generated using this callback function. > -- > 1.6.0.6 > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot