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


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: 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 
> ---
>  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;
> + co

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