Re: [U-Boot] [PATCH mkimage branch] tools/mkimage: fix compiler warnings, use const

2009-09-10 Thread Wolfgang Denk

In message 1250675656-12022-1-git-send-email...@denx.de 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.
 
 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(-)

Applied to mkimage branch.

Best regards,

Wolfgang Denk

-- 
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: w...@denx.de
Technology is dominated by those who manage what they do  not  under-
stand.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH mkimage branch] tools/mkimage: fix compiler warnings, use const

2009-08-20 Thread Prafulla Wadaskar
 

 -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

Re: [U-Boot] [PATCH mkimage branch] tools/mkimage: fix compiler warnings, use const

2009-08-20 Thread Wolfgang Denk
Dear Prafulla,

In message 73173d32e9439e4abb5151606c3e19e202e3915...@sc-vexch1.marvell.com 
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.

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

Yes, indeed.

 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.

 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

-- 
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: w...@denx.de
God made machine language; all the rest is the work of man.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH mkimage branch] tools/mkimage: fix compiler warnings, use const

2009-08-20 Thread Prafulla Wadaskar
 

 -Original Message-
 From: Wolfgang Denk [mailto:w...@denx.de] 
 Sent: Thursday, August 20, 2009 2:58 PM
 To: Prafulla Wadaskar
 Cc: u-boot@lists.denx.de
 Subject: Re: [U-Boot] [PATCH mkimage branch] tools/mkimage: 
 fix compiler warnings, use const
 
 Dear Prafulla,
 
 In message 
 73173d32e9439e4abb5151606c3e19e202e3915...@sc-vexch1.marvell.
 com 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.
 
  99% of the changes in this patch is to add const attributes.
 
 Yes, indeed.
 
  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

 
  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?
It's in my mailq :-(, I will repost it just FYI

Regards..
Prafulla . .

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH mkimage branch] tools/mkimage: fix compiler warnings, use const

2009-08-19 Thread Wolfgang Denk
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 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