Skip to contentSkip to conversation

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

PATCH New Wolfgang Denk 2 participants 5 messages Aug 19, 2009 – Sep 10, 2009

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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.

---
 common/image.c  |   39 ++++++++++++++++++++-------------------
 include/image.h |   34 +++++++++++++++++-----------------
 tools/mkimage.h |    2 +-
 3 files changed, 38 insertions(+), 37 deletions(-)
common/image.c +20 -19
index e22c974..f3dd647 100644
@@ -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;
include/image.h +17 -17
index beb3a16..a62669f 100644
@@ -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))
tools/mkimage.h +1 -1
index a9295b6..1e92825 100644
@@ -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.
Signature · 1 line
1.6.0.6
#1 lore raw

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

Quoted 10 lines

-----Original Message-----
From: u-boot-bounces at lists.denx.de [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Wolfgang Denk
Sent: Wednesday, August 19, 2009 3:24 PM
To: u-boot at lists.denx.de
Subject: [U-Boot] [PATCH "mkimage" branch] tools/mkimage: fix compiler warnings, use "const"

Quoted 7 lines

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 . .

Quoted 320 lines
---
 common/image.c  |   39 ++++++++++++++++++++-------------------
 include/image.h |   34 +++++++++++++++++-----------------
 tools/mkimage.h |    2 +-
 3 files changed, 38 insertions(+), 37 deletions(-)
common/image.c +1 -1
index e22c974..f3dd647 100644
@@ -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,
common/image.c +5 -5
 						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.

common/image.c +2 -1
@@ -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,

common/image.c +6 -6
 						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",

common/image.c +1 -1
 					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;
common/image.c +3 -3
 	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;
common/image.c +0 -0
 	ulong		load_start, load_end;
include/image.h +1 -1
index beb3a16..a62669f 100644
@@ -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) \
 	{ \
include/image.h +0 -0
 		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) \

include/image.h +1 -1
-	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 */

include/image.h +2 -2
-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)
{

include/image.h +3 -3
 	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)
 {
include/image.h +2 -2
 	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);

include/image.h +7 -7
@@ -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

include/image.h +1 -1
-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))
tools/mkimage.h +1 -1
index a9295b6..1e92825 100644
@@ -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.

Signature · 6 lines
1.6.0.6

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
#2 lore raw

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

Dear Prafulla,

Quoted 10 lines · In message <[email protected]>…
Quoted 8 lines

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.

99% of the changes in this patch is to add const attributes.

Yes, indeed.

Quoted 1 line

Can you pls explain here- how useful it is to add const.

Well, adding "const" where appropriate is definitely a good thing, as it const augments data-hiding and encapsulation and allows the compiler to check for (and prevent!) unintended modification of data structures, i. e. for programming errors. Also, it helps the compiler for better optimization.

Quoted 2 lines

Or do it make more sense just to fix the warnings in respective functions? I have posted a patch for the same

I did not see any patch form you addressing these warnings?

My "const"-adding patch was the more or less direct result of getting rid of the warnings without using additional type casts.

I think using const is a good thing. I am aware that it sometimes becomes painful, and some consider it a waste of time.

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
God made machine language; all the rest is the work of man.
#3 lore raw

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

Quoted 29 lines

-----Original Message-----
From: Wolfgang Denk [mailto:wd at denx.de]
Sent: Thursday, August 20, 2009 2:58 PM
To: Prafulla Wadaskar
Cc: u-boot at lists.denx.de
Subject: Re: [U-Boot] [PATCH "mkimage" branch] tools/mkimage:
fix compiler warnings, use "const"

Dear Prafulla,

In message <[email protected].

Quoted 7 lines · com> you wrote:
Quoted 7 lines

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

Quoted 3 lines
Quoted 1 line

it's appropriate.

99% of the changes in this patch is to add const attributes.

Yes, indeed.

Quoted 7 lines
Quoted 1 line

Can you pls explain here- how useful it is to add const.

Well, adding "const" where appropriate is definitely a good thing, as it const augments data-hiding and encapsulation and allows the compiler to check for (and prevent!) unintended modification of data structures, i. e. for programming errors. Also, it helps the compiler for better optimization.

Ack

Quoted 6 lines
Quoted 2 lines

Or do it make more sense just to fix the warnings in

respective functions?

Quoted 1 line

I have posted a patch for the same

I did not see any patch form you addressing these warnings?

It's in my mailq :-(, I will repost it just FYI

Regards..
Prafulla . .

author Applied
#4 lore raw

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

In reply to Wolfgang Denk
Quoted 6 lines · In message <[email protected]> you wrote:

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.

Quoted 6 lines
---
 common/image.c  |   39 ++++++++++++++++++++-------------------
 include/image.h |   34 +++++++++++++++++-----------------
 tools/mkimage.h |    2 +-
 3 files changed, 38 insertions(+), 37 deletions(-)

Applied to "mkimage" branch.

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Technology is dominated by those who manage what they do  not  under-
stand.