Mercurial > flash_v2
comparison packages/io/flash/current/src/legacy_dev.c @ 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 |
comparison
equal
deleted
inserted
replaced
| 1762:9c1d9e5039c2 | 1763:42c8ea63b78d |
|---|---|
| 122 cyg_flashaddr_t block_base) | 122 cyg_flashaddr_t block_base) |
| 123 { | 123 { |
| 124 typedef int code_fun(cyg_flashaddr_t, unsigned int); | 124 typedef int code_fun(cyg_flashaddr_t, unsigned int); |
| 125 code_fun *_flash_erase_block; | 125 code_fun *_flash_erase_block; |
| 126 size_t block_size = dev->block_info[0].block_size; | 126 size_t block_size = dev->block_info[0].block_size; |
| 127 int stat; | |
| 127 | 128 |
| 128 _flash_erase_block = (code_fun*) cyg_flash_anonymizer(&flash_erase_block); | 129 _flash_erase_block = (code_fun*) cyg_flash_anonymizer(&flash_erase_block); |
| 129 | 130 |
| 130 return (*_flash_erase_block)(block_base, block_size); | 131 stat = (*_flash_erase_block)(block_base, block_size); |
| 132 return flash_hwr_map_error(stat); | |
| 131 } | 133 } |
| 132 | 134 |
| 133 static int | 135 static int |
| 134 legacy_flash_program(struct cyg_flash_dev *dev, | 136 legacy_flash_program(struct cyg_flash_dev *dev, |
| 135 cyg_flashaddr_t base, | 137 cyg_flashaddr_t base, |
| 137 { | 139 { |
| 138 typedef int code_fun(cyg_flashaddr_t, const void *, int, unsigned long, int); | 140 typedef int code_fun(cyg_flashaddr_t, const void *, int, unsigned long, int); |
| 139 code_fun *_flash_program_buf; | 141 code_fun *_flash_program_buf; |
| 140 size_t block_size = dev->block_info[0].block_size; | 142 size_t block_size = dev->block_info[0].block_size; |
| 141 size_t block_mask = ~(block_mask -1); | 143 size_t block_mask = ~(block_mask -1); |
| 142 | 144 int stat; |
| 145 | |
| 143 _flash_program_buf = (code_fun*) cyg_flash_anonymizer(&flash_program_buf); | 146 _flash_program_buf = (code_fun*) cyg_flash_anonymizer(&flash_program_buf); |
| 144 | 147 |
| 145 return (*_flash_program_buf)(base, data, len, block_mask ,block_size); | 148 stat = (*_flash_program_buf)(base, data, len, block_mask ,block_size); |
| 149 return flash_hwr_map_error(stat); | |
| 146 } | 150 } |
| 147 | 151 |
| 148 #ifdef CYGSEM_IO_FLASH_READ_INDIRECT | 152 #ifdef CYGSEM_IO_FLASH_READ_INDIRECT |
| 149 static int | 153 static int |
| 150 legacy_flash_read (struct cyg_flash_dev *dev, | 154 legacy_flash_read (struct cyg_flash_dev *dev, |
| 153 { | 157 { |
| 154 typedef int code_fun(const cyg_flashaddr_t, void *, int, unsigned long, int); | 158 typedef int code_fun(const cyg_flashaddr_t, void *, int, unsigned long, int); |
| 155 code_fun *_flash_read_buf; | 159 code_fun *_flash_read_buf; |
| 156 size_t block_size = dev->block_info[0].block_size; | 160 size_t block_size = dev->block_info[0].block_size; |
| 157 size_t block_mask = ~(block_mask -1); | 161 size_t block_mask = ~(block_mask -1); |
| 158 | 162 int stat; |
| 159 _flash_read_buf = (code_fun*) cyg_flash_anonymizer(&flash_read_buf); | 163 _flash_read_buf = (code_fun*) cyg_flash_anonymizer(&flash_read_buf); |
| 160 | 164 |
| 161 return (*_flash_read_buf)(base, data, len, block_mask, block_size); | 165 stat = (*_flash_read_buf)(base, data, len, block_mask, block_size); |
| 166 return flash_hwr_map_error(stat); | |
| 162 } | 167 } |
| 163 | 168 |
| 164 # define LEGACY_FLASH_READ legacy_flash_read | 169 # define LEGACY_FLASH_READ legacy_flash_read |
| 165 #else | 170 #else |
| 166 # define LEGACY_FLASH_READ ((int (*)(struct cyg_flash_dev*, const cyg_flashaddr_t, void*, const size_t))0) | 171 # define LEGACY_FLASH_READ ((int (*)(struct cyg_flash_dev*, const cyg_flashaddr_t, void*, const size_t))0) |
| 172 legacy_flash_block_lock (struct cyg_flash_dev *dev, | 177 legacy_flash_block_lock (struct cyg_flash_dev *dev, |
| 173 const cyg_flashaddr_t block_base) | 178 const cyg_flashaddr_t block_base) |
| 174 { | 179 { |
| 175 typedef int code_fun(cyg_flashaddr_t); | 180 typedef int code_fun(cyg_flashaddr_t); |
| 176 code_fun *_flash_lock_block; | 181 code_fun *_flash_lock_block; |
| 177 | 182 int stat; |
| 178 _flash_lock_block = (code_fun*) cyg_flash_anonymizer(&flash_lock_block); | 183 _flash_lock_block = (code_fun*) cyg_flash_anonymizer(&flash_lock_block); |
| 179 | 184 |
| 180 return (*_flash_lock_block)(block_base); | 185 stat = (*_flash_lock_block)(block_base); |
| 186 return flash_hwr_map_error(stat); | |
| 181 } | 187 } |
| 182 | 188 |
| 183 static int | 189 static int |
| 184 legacy_flash_block_unlock (struct cyg_flash_dev *dev, | 190 legacy_flash_block_unlock (struct cyg_flash_dev *dev, |
| 185 const cyg_flashaddr_t block_base) | 191 const cyg_flashaddr_t block_base) |
| 186 { | 192 { |
| 187 typedef int code_fun(cyg_flashaddr_t, int, int); | 193 typedef int code_fun(cyg_flashaddr_t, int, int); |
| 188 code_fun *_flash_unlock_block; | 194 code_fun *_flash_unlock_block; |
| 189 size_t block_size = dev->block_info[0].block_size; | 195 size_t block_size = dev->block_info[0].block_size; |
| 190 cyg_uint32 blocks = dev->block_info[0].blocks; | 196 cyg_uint32 blocks = dev->block_info[0].blocks; |
| 191 | 197 int stat; |
| 192 _flash_unlock_block = (code_fun*) cyg_flash_anonymizer(&flash_unlock_block); | 198 _flash_unlock_block = (code_fun*) cyg_flash_anonymizer(&flash_unlock_block); |
| 193 | 199 |
| 194 return (*_flash_unlock_block)(block_base, block_size, blocks); | 200 stat = (*_flash_unlock_block)(block_base, block_size, blocks); |
| 201 return flash_hwr_map_error(stat); | |
| 195 } | 202 } |
| 196 #endif | 203 #endif |
| 197 | |
| 198 // Map a hardware status to a package error | |
| 199 static int | |
| 200 legacy_flash_hwr_map_error (struct cyg_flash_dev *dev, int err) | |
| 201 { | |
| 202 return flash_hwr_map_error(err); | |
| 203 } | |
| 204 | 204 |
| 205 void | 205 void |
| 206 flash_dev_query(void* data) | 206 flash_dev_query(void* data) |
| 207 { | 207 { |
| 208 typedef void code_fun(void*); | 208 typedef void code_fun(void*); |
| 220 legacy_flash_init, | 220 legacy_flash_init, |
| 221 legacy_flash_query, | 221 legacy_flash_query, |
| 222 legacy_flash_erase_block, | 222 legacy_flash_erase_block, |
| 223 legacy_flash_program, | 223 legacy_flash_program, |
| 224 LEGACY_FLASH_READ, | 224 LEGACY_FLASH_READ, |
| 225 legacy_flash_hwr_map_error, | |
| 226 legacy_flash_block_lock, | 225 legacy_flash_block_lock, |
| 227 legacy_flash_block_unlock | 226 legacy_flash_block_unlock |
| 228 ); | 227 ); |
| 229 | 228 |
| 230 CYG_FLASH_DRIVER(cyg_zzlegacy_flashdev, | 229 CYG_FLASH_DRIVER(cyg_zzlegacy_flashdev, |
