This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
V2 flash - legacy patches
- From: Bart Veer <bartv at ecoscentric dot com>
- To: ecos-patches at ecos dot sourceware dot org
- Date: Tue, 22 Feb 2005 23:20:34 +0000 (GMT)
- Subject: V2 flash - legacy patches
Fixes from Jifl and Nick. flash_errmsg() was missing from the legacy
support. Legacy drivers were not supplied a printf() function during
initialization, so could not report errors. The final argument to
flash_program_buf() was wrong, affecting the V1 strata driver.
Bart
Index: ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/io/flash/current/ChangeLog,v
retrieving revision 1.38.2.25
diff -u -r1.38.2.25 ChangeLog
--- ChangeLog 22 Feb 2005 21:03:44 -0000 1.38.2.25
+++ ChangeLog 22 Feb 2005 23:18:38 -0000
@@ -1,3 +1,15 @@
+2005-01-28 Nick Garnett <nickg@ecoscentric.com>
+
+ * src/legacy_dev.c (legacy_flash_init): Assign flash_info.pf from
+ flash device field. Otherwise drivers try to call an invalid
+ address.
+ (legacy_flash_program): The last argument to flash_program_buf()
+ is not the block size but the programming buffer size.
+
+2005-01-19 Jonathan Larmour <jifl@eCosCentric.com>
+
+ * src/legacy_api.c (flash_errmsg): Was missing. Add.
+
2004-12-02 Bart Veer <bartv@ecoscentric.com>
* include/flash_dev.h: now provides everything needed by flash
Index: src/legacy_api.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/io/flash/current/src/Attic/legacy_api.c,v
retrieving revision 1.1.2.3
diff -u -r1.1.2.3 legacy_api.c
--- src/legacy_api.c 22 Feb 2005 21:03:43 -0000 1.1.2.3
+++ src/legacy_api.c 22 Feb 2005 23:18:54 -0000
@@ -135,3 +135,10 @@
return cyg_flash_read((cyg_flashaddr_t)flash_base, ram_base,
len, (cyg_flashaddr_t *)err_address);
}
+
+char *flash_errmsg(int err)
+{
+ return (char *)cyg_flash_errmsg(err);
+}
+
+// EOF legacy_api.c
Index: src/legacy_dev.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/io/flash/current/src/Attic/legacy_dev.c,v
retrieving revision 1.1.2.12
diff -u -r1.1.2.12 legacy_dev.c
--- src/legacy_dev.c 22 Feb 2005 21:03:43 -0000 1.1.2.12
+++ src/legacy_dev.c 22 Feb 2005 23:19:05 -0000
@@ -89,6 +89,8 @@
int err;
static cyg_flash_block_info_t block_info[1];
+ flash_info.pf = dev->pf;
+
err=flash_hwr_init();
if (!err) {
@@ -139,13 +141,12 @@
{
typedef int code_fun(cyg_flashaddr_t, const void *, int, unsigned long, int);
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);
- stat = (*_flash_program_buf)(base, data, len, block_mask ,block_size);
+ stat = (*_flash_program_buf)(base, data, len, block_mask, flash_info.buffer_size);
return flash_hwr_map_error(stat);
}