Mercurial > flash_v2
changeset 1763:42c8ea63b78d
Eliminate hwr_map_error() from the V2 driver interface, it no longer
serves any useful purpose
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 );
