Merged from external project:
[bertos.git] / bertos / drv / dataflash.h
index 923b9ec3bd3329d7c04ab2c231b184afe2e90b9d..43a345b40478780a51108a05d50a0760a3f9be96 100644 (file)
@@ -44,6 +44,7 @@
 #include <cfg/compiler.h>
 
 #include <kern/kfile.h>
+#include <fs/battfs.h>
 
 /**
  * Type definitions for dflash memory.
@@ -81,7 +82,7 @@ typedef enum DataflashType
 /**
  * Dataflash KFile context structure.
  */
-typedef struct KFileDataflash
+typedef struct DataFlash
 {
        KFile fd;                       ///< File descriptor.
        KFile *channel;                 ///< Dataflash comm channel (usually SPI).
@@ -90,7 +91,7 @@ typedef struct KFileDataflash
        bool page_dirty;                ///< True if current_page is dirty (needs to be flushed).
        dataflash_setReset_t *setReset; ///< Callback used to set reset pin of dataflash.
        dataflash_setCS_t *setCS;       ///< Callback used to set CS pin of dataflash.
-} KFileDataflash;
+} DataFlash;
 
 /**
  * ID for dataflash.
@@ -98,12 +99,12 @@ typedef struct KFileDataflash
 #define KFT_DATAFLASH MAKE_ID('D', 'F', 'L', 'H')
 
 /**
- * Convert + ASSERT from generic KFile to KFileDataflash.
+ * Convert + ASSERT from generic KFile to DataFlash.
  */
-INLINE KFileDataflash * KFILEDATAFLASH(KFile *fd)
+INLINE DataFlash * DATAFLASH_CAST(KFile *fd)
 {
        ASSERT(fd->_type == KFT_DATAFLASH);
-       return (KFileDataflash *)fd;
+       return (DataFlash *)fd;
 }
 
 #define RESET_PULSE_WIDTH     10 ///< Width of reset pulse in usec.
@@ -181,7 +182,8 @@ typedef struct DataflashInfo
 } DataflashInfo;
 
 
-bool dataflash_init(KFileDataflash *fd, KFile *ch, DataflashType type, dataflash_setCS_t *setCS, dataflash_setReset_t *setReset);
+bool dataflash_init(DataFlash *fd, KFile *ch, DataflashType type, dataflash_setCS_t *setCS, dataflash_setReset_t *setReset);
+bool dataflash_diskInit(struct BattFsSuper *d, DataFlash *fd, pgcnt_t *page_array);
 
 /**
  * To test data falsh drive you could use
@@ -190,7 +192,7 @@ bool dataflash_init(KFileDataflash *fd, KFile *ch, DataflashType type, dataflash
  *
  * (see drv/datafalsh_test.c for more detail)
  */
-int dataflash_testSetup(void);
+int dataflash_testSetUp(void);
 int dataflash_testRun(void);
 int dataflash_testTearDown(void);