public inbox for ecos-patches@sourceware.org
 help / color / mirror / Atom feed
* redboot/.../flash.c compiler warnings - revisited
@ 2009-04-02 10:12 Rene Nielsen
  2009-04-03  9:31 ` John Dallaway
  0 siblings, 1 reply; 2+ messages in thread
From: Rene Nielsen @ 2009-04-02 10:12 UTC (permalink / raw)
  To: ecos-patches

[-- Attachment #1: Type: text/plain, Size: 351 bytes --]

Hi,

The attached patch fixes some compiler warnings seen when
CYGOPT_REDBOOT_REDUNDANT_FIS is enabled.

I've posted the patch before
(http://ecos.sourceware.org/ml/ecos-patches/2009-02/msg00105.html), but
noone took notice. This new patch is resync'd to HEAD as of today.

Regards,
Rene Schipp von Branitz Nielsen 
Vitesse Semiconductors

[-- Attachment #2: redboot_flash_2009_04_02.patch --]
[-- Type: application/octet-stream, Size: 5901 bytes --]

Index: ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/redboot/current/ChangeLog,v
retrieving revision 1.270
diff -u -r1.270 ChangeLog
--- ChangeLog	25 Mar 2009 10:34:39 -0000	1.270
+++ ChangeLog	2 Apr 2009 09:10:06 -0000
@@ -1,3 +1,8 @@
+2009-04-02  Rene Schipp von Branitz Nielsen <rbn@vitesse.com>
+
+	* src/flash.c: Fix compilation warnings when redundant FIS
+	is selected.
+
 2009-03-25  Sergei Gavrikov  <sergei.gavrikov@gmail.com>
 
 	* src/main.c: Move platform info behind GPL banner.
Index: src/flash.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/redboot/current/src/flash.c,v
retrieving revision 1.88
diff -u -r1.88 flash.c
--- src/flash.c	20 Feb 2009 22:27:59 -0000	1.88
+++ src/flash.c	2 Apr 2009 09:10:06 -0000
@@ -169,7 +169,7 @@
 void *fis_work_block;
 cyg_flashaddr_t fis_addr;
 #ifdef CYGOPT_REDBOOT_REDUNDANT_FIS
-void *redundant_fis_addr;
+cyg_flashaddr_t redundant_fis_addr;
 #endif
 int fisdir_size;  // Size of FIS directory.
 #endif
@@ -286,8 +286,8 @@
 #endif
 
    struct fis_image_desc* img=NULL;
-   cyg_flashaddr_t err_addr=NULL;
-   cyg_flashaddr_t tmp_fis_addr=NULL;
+   cyg_flashaddr_t err_addr;
+   cyg_flashaddr_t tmp_fis_addr;
    int stat;
 
    /*exchange old and new valid fis tables*/
@@ -310,14 +310,15 @@
 #endif
 
    if ((stat = cyg_flash_erase(fis_addr, fisdir_size, &err_addr)) != 0) {
-       diag_printf("Error erasing FIS directory at %p: %s\n", err_addr, cyg_flash_errmsg(stat));
+       diag_printf("Error erasing FIS directory at %p: %s\n",
+                   (void*)err_addr, cyg_flash_errmsg(stat));
        return 1;
    }
    //now magic is 0xffffffff
    fis_endian_fixup(fis_work_block);
    if ((stat = cyg_flash_program(fis_addr, fis_work_block, flash_block_size, &err_addr)) != 0) {
        diag_printf("Error writing FIS directory at %p: %s\n",
-                   err_addr, cyg_flash_errmsg(stat));
+                   (void*)err_addr, cyg_flash_errmsg(stat));
        return 1;
    }
    fis_endian_fixup(fis_work_block);
@@ -360,13 +361,13 @@
    //but IN_PROGRESS is also good enough I think
    if (error!=0)
    {
-      void* swap_fis_addr=fis_addr;
+      cyg_flashaddr_t swap_fis_addr=fis_addr;
       fis_addr=redundant_fis_addr;
       redundant_fis_addr=swap_fis_addr;
    }
    else //success
    {
-      void* tmp_fis_addr=(void *)((CYG_ADDRESS)fis_addr+CYG_REDBOOT_RFIS_VALID_MAGIC_LENGTH);
+      cyg_flashaddr_t tmp_fis_addr=((CYG_ADDRESS)fis_addr+CYG_REDBOOT_RFIS_VALID_MAGIC_LENGTH);
 
       img->u.valid_info.valid_flag[0]=CYG_REDBOOT_RFIS_VALID;
       img->u.valid_info.valid_flag[1]=CYG_REDBOOT_RFIS_VALID;
@@ -374,7 +375,7 @@
       if ((stat = cyg_flash_program(tmp_fis_addr, img->u.valid_info.valid_flag,
                                     sizeof(img->u.valid_info.valid_flag), &err_addr)) != 0) {
           diag_printf("Error writing FIS directory at %p: %s\n", 
-                      err_addr, cyg_flash_errmsg(stat));
+                      (void*)err_addr, cyg_flash_errmsg(stat));
       }
    }
 #ifdef CYGHWR_IO_FLASH_BLOCK_LOCKING
@@ -463,7 +464,7 @@
 fis_erase_redundant_directory(void)
 {
     int stat;
-    void *err_addr;
+    cyg_flashaddr_t err_addr;
 
 #ifdef CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
     // Ensure [quietly] that the directory is unlocked before trying
@@ -474,7 +475,7 @@
     if ((stat = cyg_flash_erase(redundant_fis_addr, fisdir_size,
                                 &err_addr)) != 0) {
          diag_printf("Error erasing FIS directory at %p: %s\n",
-                     err_addr, cyg_flash_errmsg(stat));
+                     (void*)err_addr, cyg_flash_errmsg(stat));
     }
 #ifdef CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
     // Ensure [quietly] that the directory is locked after the update
@@ -670,7 +671,7 @@
         }
         if ((stat = cyg_flash_erase(erase_start, erase_size,&err_addr)) != 0) {
           diag_printf("   initialization failed %p: %s\n",
-                 err_addr, cyg_flash_errmsg(stat));
+                      (void*)err_addr, cyg_flash_errmsg(stat));
         }
         erase_start += (erase_size + flash_block_size);
         if (fis_addr > cfg_base) {
@@ -680,7 +681,7 @@
         }
         if ((stat = cyg_flash_erase(erase_start, erase_size,&err_addr)) != 0) {
           diag_printf("   initialization failed %p: %s\n",
-                 err_addr, cyg_flash_errmsg(stat));
+                      (void*)err_addr, cyg_flash_errmsg(stat));
         }
         erase_start += (erase_size + flash_block_size);
 #else  // !CYGSEM_REDBOOT_FLASH_CONFIG        
@@ -1924,11 +1925,11 @@
 #ifdef CYGOPT_REDBOOT_REDUNDANT_FIS
 
         if (CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK < 0) {
-            redundant_fis_addr = (void *)((CYG_ADDRESS)flash_end + 1 +
-                                          (CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK*flash_block_size));
+            redundant_fis_addr = ((CYG_ADDRESS)flash_end + 1 +
+                                  (CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK*flash_block_size));
         } else {
-            redundant_fis_addr = (void *)((CYG_ADDRESS)flash_start +
-                                (CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK*flash_block_size));
+            redundant_fis_addr = ((CYG_ADDRESS)flash_start +
+                                  (CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK*flash_block_size));
         }
 
         if (((CYG_ADDRESS)redundant_fis_addr + fisdir_size - 1) > (CYG_ADDRESS)flash_end) {
@@ -1956,7 +1957,7 @@
         if (fis_get_valid_buf(&img0, &img1, &fis_update_was_interrupted)==1)
         {
            // Valid, so swap primary and secondary
-           void * tmp;
+           cyg_flashaddr_t tmp;
            tmp = fis_addr;
            fis_addr = redundant_fis_addr;
            redundant_fis_addr = tmp;

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: redboot/.../flash.c compiler warnings - revisited
  2009-04-02 10:12 redboot/.../flash.c compiler warnings - revisited Rene Nielsen
@ 2009-04-03  9:31 ` John Dallaway
  0 siblings, 0 replies; 2+ messages in thread
From: John Dallaway @ 2009-04-03  9:31 UTC (permalink / raw)
  To: Rene Nielsen; +Cc: ecos-patches

Hi Rene

Rene Nielsen wrote:

> The attached patch fixes some compiler warnings seen when
> CYGOPT_REDBOOT_REDUNDANT_FIS is enabled.

Thank you for the patch. It looks perfectly reasonable.

> I've posted the patch before
> (http://ecos.sourceware.org/ml/ecos-patches/2009-02/msg00105.html), but
> noone took notice. This new patch is resync'd to HEAD as of today.

I see that you already have a copyright assignment in place so I will
check this in. Apologies for the delay in processing your contribution.

John Dallaway

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-04-03  9:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-02 10:12 redboot/.../flash.c compiler warnings - revisited Rene Nielsen
2009-04-03  9:31 ` John Dallaway

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).