changeset 1763:42c8ea63b78d

Eliminate hwr_map_error() from the V2 driver interface, it no longer serves any useful purpose
author bartv
date Mon, 29 Nov 2004 14:49:20 +0000
parents 9c1d9e5039c2
children 96ec7e534d98
files packages/devs/flash/amd/am29xxxxxv2/current/ChangeLog packages/devs/flash/amd/am29xxxxxv2/current/include/am29xxxxx_dev.h packages/devs/flash/amd/am29xxxxxv2/current/src/am29xxxxx.c packages/devs/flash/atmel/dataflash/current/ChangeLog packages/devs/flash/atmel/dataflash/current/src/devs_flash_atmel_dataflash_flash_dev_funs.c packages/devs/flash/intel/stratav2/current/ChangeLog packages/devs/flash/intel/stratav2/current/include/flash_strata_v2.inl packages/devs/flash/sst/39vfxxx/current/ChangeLog packages/devs/flash/sst/39vfxxx/current/include/flash_sst_39vfxxx.inl packages/devs/flash/synthv2/current/ChangeLog packages/devs/flash/synthv2/current/src/synth.c packages/io/flash/current/ChangeLog packages/io/flash/current/include/flash_priv.h packages/io/flash/current/src/flash.c packages/io/flash/current/src/legacy_dev.c
diffstat 15 files changed, 58 insertions(+), 84 deletions(-) [+]
line wrap: on
line diff
--- a/packages/devs/flash/amd/am29xxxxxv2/current/ChangeLog
+++ b/packages/devs/flash/amd/am29xxxxxv2/current/ChangeLog
@@ -1,5 +1,8 @@
 2004-11-29  Bart Veer  <bartv@ecoscentric.com>
 
+	* include/am29xxxxx_dev.h, src/am29xxxxx.c: eliminate
+	hwr_map_error() support, no longer needed
+	
 	* include/am29xxxxx_dev.h, src/am29xxxxx.c, src/am29xxxxx_aux.c:
 	The dummy init/query/lock/unlock functions have been moved to the
 	generic flash package. That also now exports an anonymizer
--- a/packages/devs/flash/amd/am29xxxxxv2/current/include/am29xxxxx_dev.h
+++ b/packages/devs/flash/amd/am29xxxxxv2/current/include/am29xxxxx_dev.h
@@ -52,8 +52,6 @@
 #include <cyg/io/flash.h>
 #include <cyg/io/flash_priv.h>
 
-externC int     cyg_am29xxxxx_hwr_map_error_nop(struct cyg_flash_dev*, int);
-
 externC int cyg_am29xxxxx_read_devid_8(     struct cyg_flash_dev*);
 externC int cyg_am29xxxxx_read_devid_16(    struct cyg_flash_dev*);
 externC int cyg_am29xxxxx_read_devid_32(    struct cyg_flash_dev*);
--- a/packages/devs/flash/amd/am29xxxxxv2/current/src/am29xxxxx.c
+++ b/packages/devs/flash/amd/am29xxxxxv2/current/src/am29xxxxx.c
@@ -195,14 +195,6 @@
 // ----------------------------------------------------------------------------
 // Generic code.
 
-// A dummy hwr_map_error routine.
-int
-cyg_am29xxxxx_hwr_map_error_nop(struct cyg_flash_dev* dev, int err)
-{
-    CYG_UNUSED_PARAM(struct cyg_flash_dev*, dev);
-    return err;
-}
-
 // Get info about the current block, i.e. base and size.
 static void
 am29_get_block_info(struct cyg_flash_dev* dev, const cyg_flashaddr_t addr, cyg_flashaddr_t* block_start, size_t* block_size)
--- a/packages/devs/flash/atmel/dataflash/current/ChangeLog
+++ b/packages/devs/flash/atmel/dataflash/current/ChangeLog
@@ -1,5 +1,7 @@
 2004-11-29  Bart Veer  <bartv@ecoscentric.com>
 
+	(df_flash_hwr_map_error): this is now internal to the driver, no
+	longer needed by the generic flash code.
 	* src/devs_flash_atmel_dataflash_flash_dev_funs.c: use the dummy
 	query/lock/unlock functions provided by the generic flash code
 
--- a/packages/devs/flash/atmel/dataflash/current/src/devs_flash_atmel_dataflash_flash_dev_funs.c
+++ b/packages/devs/flash/atmel/dataflash/current/src/devs_flash_atmel_dataflash_flash_dev_funs.c
@@ -63,11 +63,25 @@
 // -------------------------------------------------------------------------- 
 
 #define RETURN_ON_ERROR(_op_) \
-    if (CYG_DATAFLASH_ERR_OK != (err = _op_)) return err
+    if (CYG_DATAFLASH_ERR_OK != (err = _op_)) return df_flash_hwr_map_error(dev, err)
 
 #define GOTO_ON_ERROR(_op_) \
     if (CYG_DATAFLASH_ERR_OK != (err = _op_)) goto on_error
     
+static int 
+df_flash_hwr_map_error(struct cyg_flash_dev *dev, int err)
+{
+    switch (err)
+    {
+        case CYG_DATAFLASH_ERR_OK:         return CYG_FLASH_ERR_OK; 
+        case CYG_DATAFLASH_ERR_INVALID:    return CYG_FLASH_ERR_INVALID;  
+        case CYG_DATAFLASH_ERR_WRONG_PART: return CYG_FLASH_ERR_DRV_WRONG_PART; 
+        case CYG_DATAFLASH_ERR_TIMEOUT:    return CYG_FLASH_ERR_DRV_TIMEOUT;
+        case CYG_DATAFLASH_ERR_COMPARE:    return CYG_FLASH_ERR_DRV_VERIFY; 
+        default:                           return CYG_FLASH_ERR_INVALID;
+    }
+}
+
 // -------------------------------------------------------------------------- 
 
 static int 
@@ -136,7 +150,7 @@ df_flash_erase_block(struct cyg_flash_de
     
 on_error:
     cyg_dataflash_release(&priv->dev);
-    return err;
+    return df_flash_hwr_map_error(dev, err);
 }
 
 static int
@@ -165,7 +179,7 @@ df_flash_program(struct cyg_flash_dev *d
 
 on_error:
     cyg_dataflash_release(&priv->dev);
-    return err;
+    return df_flash_hwr_map_error(dev, err);
 }
 
 static int 
@@ -193,21 +207,7 @@ df_flash_read(struct cyg_flash_dev   *de
 
 on_error:
     cyg_dataflash_release(&priv->dev);
-    return err;    
-}
-
-static int 
-df_flash_hwr_map_error(struct cyg_flash_dev *dev, int err)
-{
-    switch (err)
-    {
-        case CYG_DATAFLASH_ERR_OK:         return CYG_FLASH_ERR_OK; 
-        case CYG_DATAFLASH_ERR_INVALID:    return CYG_FLASH_ERR_INVALID;  
-        case CYG_DATAFLASH_ERR_WRONG_PART: return CYG_FLASH_ERR_DRV_WRONG_PART; 
-        case CYG_DATAFLASH_ERR_TIMEOUT:    return CYG_FLASH_ERR_DRV_TIMEOUT;
-        case CYG_DATAFLASH_ERR_COMPARE:    return CYG_FLASH_ERR_DRV_VERIFY; 
-        default:                           return CYG_FLASH_ERR_INVALID;
-    }
+    return df_flash_hwr_map_error(dev, err);    
 }
 
 // -------------------------------------------------------------------------- 
@@ -218,7 +218,6 @@ CYG_FLASH_FUNS(cyg_dataflash_flash_dev_f
                df_flash_erase_block,
                df_flash_program,
                df_flash_read,
-               df_flash_hwr_map_error,
                cyg_flash_devfn_lock_nop,
                cyg_flash_devfn_unlock_nop
 );
--- a/packages/devs/flash/intel/stratav2/current/ChangeLog
+++ b/packages/devs/flash/intel/stratav2/current/ChangeLog
@@ -1,5 +1,8 @@
 2004-11-29  Bart Veer  <bartv@ecoscentric.com>
 
+	* include/flash_strata_v2.inl: hwr_map_error() is now internal to
+	the driver, not exported to the generic flash code.
+	
 	* include/flash_strata_v2.inl: use the dummy lock/unlock functions
 	provided by the generic flash code.
 
--- a/packages/devs/flash/intel/stratav2/current/include/flash_strata_v2.inl
+++ b/packages/devs/flash/intel/stratav2/current/include/flash_strata_v2.inl
@@ -329,7 +329,7 @@ static int strata_erase_block (struct cy
         if (len == 0) stat = 0;
     }
 
-    return stat;
+    return strata_hwr_map_error(dev, stat);
 }
 
 //----------------------------------------------------------------------------
@@ -434,7 +434,7 @@ strata_program_buf (struct cyg_flash_dev
  bad:
     BA[0] = FLASH_Reset;            
 
-    return stat;
+    return strata_hwr_map_error(dev, stat);
 }
 
 #ifdef CYGOPT_DEVS_FLASH_STRATA_V2_LOCKING
@@ -522,7 +522,7 @@ strata_unlock_block(struct cyg_flash_dev
     // Restore ROM to "normal" mode
     ROM[0] = FLASH_Reset;
 
-    return stat;
+    return strata_hwr_map_error(dev, stat);
 }
 
 //----------------------------------------------------------------------------
@@ -552,7 +552,7 @@ strata_lock_block(struct cyg_flash_dev *
     // Restore ROM to "normal" mode
     ROM[0] = FLASH_Reset;
 
-    return stat;
+    return strata_hwr_map_error(dev, stat);
 }
 #endif
 
@@ -565,7 +565,6 @@ static CYG_FLASH_FUNS (cyg_flash_strata_
                 strata_erase_block,
                 strata_program_buf,
                 NULL,
-                strata_hwr_map_error,
                 strata_lock_block,
                 strata_unlock_block);
 #else
@@ -575,7 +574,6 @@ static CYG_FLASH_FUNS (cyg_flash_strata_
                 strata_erase_block,
                 strata_program_buf,
                 NULL,
-                strata_hwr_map_error,
                 cyg_flash_devfn_lock_nop,
                 cyg_flash_devfn_unlock_nop);
 #endif
--- a/packages/devs/flash/sst/39vfxxx/current/ChangeLog
+++ b/packages/devs/flash/sst/39vfxxx/current/ChangeLog
@@ -1,5 +1,7 @@
 2004-11-29  Bart Veer  <bartv@ecoscentric.com>
 
+	* include/flash_sst_39vfxxx.inl: eliminate hwr_map_error(), no
+	longer needed by the generic flash code.
 	* include/flash_sst_39vfxxx.inl: use the dummy lock/unlock
 	functions provided by the generic flash code.
 
--- a/packages/devs/flash/sst/39vfxxx/current/include/flash_sst_39vfxxx.inl
+++ b/packages/devs/flash/sst/39vfxxx/current/include/flash_sst_39vfxxx.inl
@@ -163,15 +163,6 @@ sst_init(struct cyg_flash_dev *dev)
 }
 
 //----------------------------------------------------------------------------
-// Map a hardware status to a package error
-static int
-sst_hwr_map_error(struct cyg_flash_dev *dev, int err)
-{
-    return err;
-}
-
-
-//----------------------------------------------------------------------------
 // Flash Query
 //
 // Only reads the manufacturer and part number codes for the first
@@ -332,7 +323,6 @@ static const CYG_FLASH_FUNS(cyg_sst_funs
 	               sst_erase_block,
 	               sst_program,
 	               NULL,              // read
-	               sst_hwr_map_error,
 	               cyg_flash_devfn_lock_nop,
 	               cyg_flash_devfn_unlock_nop);
 
--- a/packages/devs/flash/synthv2/current/ChangeLog
+++ b/packages/devs/flash/synthv2/current/ChangeLog
@@ -1,5 +1,7 @@
 2004-11-29  Bart Veer  <bartv@ecoscentric.com>
 
+	* src/synth.c: eliminate hwr_map_error() support, no longer needed
+	
 	* src/synth.c: use the dummy lock/unlock functions provided by the
 	generic flash package.
 
--- a/packages/devs/flash/synthv2/current/src/synth.c
+++ b/packages/devs/flash/synthv2/current/src/synth.c
@@ -169,13 +169,6 @@ synth_flash_init(struct cyg_flash_dev *d
     return CYG_FLASH_ERR_OK;
 }
 
-// Map a hardware status to a package error
-static int
-synth_flash_hwr_map_error(struct cyg_flash_dev *dev, int err)
-{
-    return err;
-}
-
 /* This helps speed up the erase. */
 static char empty[4096];
 static cyg_bool empty_inited = false;
@@ -262,7 +255,6 @@ const CYG_FLASH_FUNS(cyg_flash_synth_fun
                      synth_flash_erase_block,
                      synth_flash_program,
                      NULL,                 // read
-                     synth_flash_hwr_map_error,
                      cyg_flash_devfn_lock_nop,
                      cyg_flash_devfn_unlock_nop);
 
--- a/packages/io/flash/current/ChangeLog
+++ b/packages/io/flash/current/ChangeLog
@@ -1,4 +1,7 @@
 2004-11-29  Bart Veer  <bartv@ecoscentric.com>
+	
+	* include/flash_priv.h, src/flash.c, src/legacy_dev.c: remove
+	hwr_map_error() from V2 drivers
 
 	* include/flash_priv.h, src/flash.c, src/legacy_dev.c: provide
 	dummy init/query/lock/unlock functions for use by device drivers
--- a/packages/io/flash/current/include/flash_priv.h
+++ b/packages/io/flash/current/include/flash_priv.h
@@ -75,7 +75,6 @@ struct cyg_flash_dev_funs {
   int     (*flash_read) (struct cyg_flash_dev *dev, 
                          const cyg_flashaddr_t base, 
                          void* data, size_t len);
-  int     (*flash_hwr_map_error) (struct cyg_flash_dev *dev, int err);
 #ifdef CYGHWR_IO_FLASH_BLOCK_LOCKING    
   int     (*flash_block_lock) (struct cyg_flash_dev *dev, 
                                const cyg_flashaddr_t block_base);
@@ -118,7 +117,7 @@ struct cyg_flash_dev {
 } CYG_HAL_TABLE_TYPE;
 
 #ifdef CYGHWR_IO_FLASH_BLOCK_LOCKING
-# define CYG_FLASH_FUNS(_funs_, _init_, _query_ , _erase_, _prog_ , _read_, _map_, _lock_, _unlock_) \
+# define CYG_FLASH_FUNS(_funs_, _init_, _query_ , _erase_, _prog_ , _read_, _lock_, _unlock_) \
 struct cyg_flash_dev_funs _funs_ =      \
 {										\
 	.flash_init             = _init_,   \
@@ -126,20 +125,18 @@ struct cyg_flash_dev_funs _funs_ =      
 	.flash_erase_block      = _erase_,  \
 	.flash_program          = _prog_,   \
 	.flash_read             = _read_,   \
-	.flash_hwr_map_error    = _map_,    \
 	.flash_block_lock       = _lock_,   \
 	.flash_block_unlock     = _unlock_  \
 }
 #else
-# define CYG_FLASH_FUNS(_funs_, _init_, _query_ , _erase_, _prog_ , _read_, _map_, _lock_, _unlock_) \
+# define CYG_FLASH_FUNS(_funs_, _init_, _query_ , _erase_, _prog_ , _read_, _lock_, _unlock_) \
 struct cyg_flash_dev_funs _funs_ =      \
 {										\
 	.flash_init             = _init_,   \
 	.flash_query            = _query_,  \
 	.flash_erase_block      = _erase_,  \
 	.flash_program          = _prog_,   \
-	.flash_read             = _read_,   \
-	.flash_hwr_map_error    = _map_     \
+	.flash_read             = _read_    \
 }
 #endif
 
--- a/packages/io/flash/current/src/flash.c
+++ b/packages/io/flash/current/src/flash.c
@@ -246,7 +246,6 @@ cyg_flash_init(cyg_flash_printf *pf)
                "Block info is in the flash");
     CYG_ASSERT(dev->funs->flash_erase_block, "No erase function");
     CYG_ASSERT(dev->funs->flash_program, "No program function");
-    CYG_ASSERT(dev->funs->flash_hwr_map_error, "No hwr map error function");
 #ifdef CYGDBG_USE_ASSERTS
     {
          int i; 
@@ -490,7 +489,6 @@ cyg_flash_erase(cyg_flashaddr_t flash_ba
     }
     if (!erased) {
       stat = dev->funs->flash_erase_block(dev,block);
-      stat = dev->funs->flash_hwr_map_error(dev,stat);
     }
     if (CYG_FLASH_ERR_OK != stat && err_address) {
       *err_address = block;
@@ -572,7 +570,6 @@ cyg_flash_program(cyg_flashaddr_t flash_
     offset       = 0;
     
     stat = dev->funs->flash_program(dev, addr, ram, this_write);
-    stat = dev->funs->flash_hwr_map_error(dev,stat);
 #ifdef CYGSEM_IO_FLASH_VERIFY_PROGRAM
     if (CYG_FLASH_ERR_OK == stat) // Claims to be OK
       if (!dev->funs->flash_read && memcmp((void *)addr, ram, this_write) != 0) {                
@@ -668,7 +665,6 @@ cyg_flash_read(const cyg_flashaddr_t fla
           offset      = 0;
     
           stat = dev->funs->flash_read(dev, addr, ram, this_read);
-          stat = dev->funs->flash_hwr_map_error(dev,stat);
           if (CYG_FLASH_ERR_OK != stat && err_address) {
               *err_address = addr;
               break;
@@ -732,7 +728,6 @@ cyg_flash_lock(const cyg_flashaddr_t fla
         lock_count = block_size;
     }
     stat = dev->funs->flash_block_lock(dev,block);
-    stat = dev->funs->flash_hwr_map_error(dev,stat);
     
     if (CYG_FLASH_ERR_OK != stat && err_address) {
       *err_address = block;
@@ -796,7 +791,6 @@ cyg_flash_unlock(const cyg_flashaddr_t f
         unlock_count = block_size;
     }
     stat = dev->funs->flash_block_unlock(dev,block);
-    stat = dev->funs->flash_hwr_map_error(dev,stat);
     
     if (CYG_FLASH_ERR_OK != stat && err_address) {
       *err_address = block;
@@ -893,7 +887,7 @@ int
 cyg_flash_devfn_lock_nop(struct cyg_flash_dev* dev, const cyg_flashaddr_t addr)
 {
     CYG_UNUSED_PARAM(struct cyg_flash_dev*, dev);
-    CYG_UNUSED_PARAM(const cyg_flashaddr_t, addr);
+    CYG_UNUSED_PARAM(cyg_flashaddr_t, addr);
     return CYG_FLASH_ERR_DRV_WRONG_PART;
 }
 
@@ -901,7 +895,7 @@ int
 cyg_flash_devfn_unlock_nop(struct cyg_flash_dev* dev, const cyg_flashaddr_t addr)
 {
     CYG_UNUSED_PARAM(struct cyg_flash_dev*, dev);
-    CYG_UNUSED_PARAM(const cyg_flashaddr_t, addr);
+    CYG_UNUSED_PARAM(cyg_flashaddr_t, addr);
     return CYG_FLASH_ERR_DRV_WRONG_PART;
 }
 
--- a/packages/io/flash/current/src/legacy_dev.c
+++ b/packages/io/flash/current/src/legacy_dev.c
@@ -124,10 +124,12 @@ legacy_flash_erase_block (struct cyg_fla
   typedef int code_fun(cyg_flashaddr_t, unsigned int);
   code_fun *_flash_erase_block;
   size_t block_size = dev->block_info[0].block_size;
+  int    stat;
   
   _flash_erase_block = (code_fun*) cyg_flash_anonymizer(&flash_erase_block);
 
-  return (*_flash_erase_block)(block_base, block_size);
+  stat =  (*_flash_erase_block)(block_base, block_size);
+  return flash_hwr_map_error(stat);
 }
 
 static int
@@ -139,10 +141,12 @@ legacy_flash_program(struct cyg_flash_de
   code_fun *_flash_program_buf;
   size_t block_size = dev->block_info[0].block_size;
   size_t block_mask = ~(block_mask -1);
-
+  int    stat;
+  
   _flash_program_buf = (code_fun*) cyg_flash_anonymizer(&flash_program_buf);
 
-  return (*_flash_program_buf)(base, data, len, block_mask ,block_size);
+  stat = (*_flash_program_buf)(base, data, len, block_mask ,block_size);
+  return flash_hwr_map_error(stat);
 }
 
 #ifdef CYGSEM_IO_FLASH_READ_INDIRECT
@@ -155,10 +159,11 @@ legacy_flash_read (struct cyg_flash_dev 
   code_fun *_flash_read_buf;
   size_t block_size = dev->block_info[0].block_size;
   size_t block_mask = ~(block_mask -1);
-
+  int    stat;
   _flash_read_buf = (code_fun*) cyg_flash_anonymizer(&flash_read_buf);
   
-  return (*_flash_read_buf)(base, data, len, block_mask, block_size);
+  stat = (*_flash_read_buf)(base, data, len, block_mask, block_size);
+  return flash_hwr_map_error(stat);
 }
 
 # define LEGACY_FLASH_READ  legacy_flash_read
@@ -174,10 +179,11 @@ legacy_flash_block_lock (struct cyg_flas
 {
   typedef int code_fun(cyg_flashaddr_t);
   code_fun *_flash_lock_block;
-  
+  int       stat;  
   _flash_lock_block = (code_fun*) cyg_flash_anonymizer(&flash_lock_block);
 
-  return (*_flash_lock_block)(block_base);
+  stat = (*_flash_lock_block)(block_base);
+  return flash_hwr_map_error(stat);
 }
 
 static int 
@@ -188,20 +194,14 @@ legacy_flash_block_unlock (struct cyg_fl
   code_fun *_flash_unlock_block;
   size_t block_size = dev->block_info[0].block_size;
   cyg_uint32 blocks = dev->block_info[0].blocks;
-  
+  int        stat;  
   _flash_unlock_block = (code_fun*) cyg_flash_anonymizer(&flash_unlock_block);
   
-  return (*_flash_unlock_block)(block_base, block_size, blocks);
+  stat = (*_flash_unlock_block)(block_base, block_size, blocks);
+  return flash_hwr_map_error(stat);
 }
 #endif
 
-// Map a hardware status to a package error
-static int 
-legacy_flash_hwr_map_error (struct cyg_flash_dev *dev, int err)
-{
-  return flash_hwr_map_error(err);
-}
-
 void
 flash_dev_query(void* data)
 {
@@ -222,7 +222,6 @@ static const CYG_FLASH_FUNS(cyg_legacy_f
                             legacy_flash_erase_block,
                             legacy_flash_program,
                             LEGACY_FLASH_READ,
-                            legacy_flash_hwr_map_error,
                             legacy_flash_block_lock,
                             legacy_flash_block_unlock
     );