This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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);
 }
 



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]