projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move the internals read_super() functions near the declaration of
[yaffs2.git]
/
direct
/
yaffs_fileem2k.c
diff --git
a/direct/yaffs_fileem2k.c
b/direct/yaffs_fileem2k.c
index 069cb198e650e0ab76085b08c00840b5f15ad129..4c5e200ed9f0c5384efbdb136175b59f4abdd7d2 100644
(file)
--- a/
direct/yaffs_fileem2k.c
+++ b/
direct/yaffs_fileem2k.c
@@
-15,7
+15,7
@@
// This provides a YAFFS nand emulation on a file for emulating 2kB pages.
// THis is only intended as test code to test persistence etc.
// This provides a YAFFS nand emulation on a file for emulating 2kB pages.
// THis is only intended as test code to test persistence etc.
-const char *yaffs_flashif_c_version = "$Id: yaffs_fileem2k.c,v 1.
1 2004-11-03 08:29:28
charles Exp $";
+const char *yaffs_flashif_c_version = "$Id: yaffs_fileem2k.c,v 1.
4 2005-07-18 23:12:00
charles Exp $";
#include "yportenv.h"
#include "yportenv.h"
@@
-30,7
+30,7
@@
const char *yaffs_flashif_c_version = "$Id: yaffs_fileem2k.c,v 1.1 2004-11-03 08
#include <unistd.h>
#include "yaffs_fileem2k.h"
#include <unistd.h>
#include "yaffs_fileem2k.h"
-#include "yaffs_packedtags.h"
+#include "yaffs_packedtags
2
.h"
@@
-55,7
+55,7
@@
typedef struct
static yflash_Device filedisk;
static yflash_Device filedisk;
-static int CheckInit(
yaffs_Device *dev
)
+static int CheckInit(
void
)
{
static int initialised = 0;
{
static int initialised = 0;
@@
-107,16
+107,28
@@
static int CheckInit(yaffs_Device *dev)
}
}
}
}
}
}
+ else
+ {
+ filedisk.nBlocks = fSize/(BLOCK_SIZE);
+ }
return 1;
}
return 1;
}
+
+int yflash_GetNumberOfBlocks(void)
+{
+ CheckInit();
+
+ return filedisk.nBlocks;
+}
+
int yflash_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u8 *data, yaffs_ExtendedTags *tags)
{
int written;
int pos;
int yflash_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u8 *data, yaffs_ExtendedTags *tags)
{
int written;
int pos;
- CheckInit(
dev
);
+ CheckInit();
@@
-133,7
+145,7
@@
int yflash_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u8
{
pos = chunkInNAND * PAGE_SIZE + PAGE_DATA_SIZE;
lseek(filedisk.handle,pos,SEEK_SET);
{
pos = chunkInNAND * PAGE_SIZE + PAGE_DATA_SIZE;
lseek(filedisk.handle,pos,SEEK_SET);
- if(dev->isYaffs2)
+ if(
0 &&
dev->isYaffs2)
{
written = write(filedisk.handle,tags,sizeof(yaffs_ExtendedTags));
{
written = write(filedisk.handle,tags,sizeof(yaffs_ExtendedTags));
@@
-141,8
+153,8
@@
int yflash_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u8
}
else
{
}
else
{
- yaffs_PackedTags pt;
- yaffs_PackTags(&pt,tags);
+ yaffs_PackedTags
2
pt;
+ yaffs_PackTags
2
(&pt,tags);
written = write(filedisk.handle,&pt,sizeof(pt));
if(written != sizeof(pt)) return YAFFS_FAIL;
written = write(filedisk.handle,&pt,sizeof(pt));
if(written != sizeof(pt)) return YAFFS_FAIL;
@@
-158,9
+170,9
@@
int yflash_MarkNANDBlockBad(struct yaffs_DeviceStruct *dev, int blockNo)
{
int written;
{
int written;
- yaffs_PackedTags pt;
+ yaffs_PackedTags
2
pt;
- CheckInit(
dev
);
+ CheckInit();
memset(&pt,0,sizeof(pt));
lseek(filedisk.handle,(blockNo * dev->nChunksPerBlock) * PAGE_SIZE + PAGE_DATA_SIZE,SEEK_SET);
memset(&pt,0,sizeof(pt));
lseek(filedisk.handle,(blockNo * dev->nChunksPerBlock) * PAGE_SIZE + PAGE_DATA_SIZE,SEEK_SET);
@@
-190,7
+202,7
@@
int yflash_ReadChunkWithTagsFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 *da
int nread;
int pos;
int nread;
int pos;
- CheckInit(
dev
);
+ CheckInit();
@@
-207,7
+219,7
@@
int yflash_ReadChunkWithTagsFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 *da
{
pos = chunkInNAND * PAGE_SIZE + PAGE_DATA_SIZE;
lseek(filedisk.handle,pos,SEEK_SET);
{
pos = chunkInNAND * PAGE_SIZE + PAGE_DATA_SIZE;
lseek(filedisk.handle,pos,SEEK_SET);
- if(dev->isYaffs2)
+ if(
0 &&
dev->isYaffs2)
{
nread= read(filedisk.handle,tags,sizeof(yaffs_ExtendedTags));
if(nread != sizeof(yaffs_ExtendedTags)) return YAFFS_FAIL;
{
nread= read(filedisk.handle,tags,sizeof(yaffs_ExtendedTags));
if(nread != sizeof(yaffs_ExtendedTags)) return YAFFS_FAIL;
@@
-222,9
+234,9
@@
int yflash_ReadChunkWithTagsFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 *da
}
else
{
}
else
{
- yaffs_PackedTags pt;
+ yaffs_PackedTags
2
pt;
nread= read(filedisk.handle,&pt,sizeof(pt));
nread= read(filedisk.handle,&pt,sizeof(pt));
- yaffs_UnpackTags(tags,&pt);
+ yaffs_UnpackTags
2
(tags,&pt);
if(nread != sizeof(pt)) return YAFFS_FAIL;
}
}
if(nread != sizeof(pt)) return YAFFS_FAIL;
}
}
@@
-240,7
+252,7
@@
int yflash_EraseBlockInNAND(yaffs_Device *dev, int blockNumber)
int i;
int i;
- CheckInit(
dev
);
+ CheckInit();
if(blockNumber < 0 || blockNumber >= filedisk.nBlocks)
{
if(blockNumber < 0 || blockNumber >= filedisk.nBlocks)
{
@@
-271,7
+283,7
@@
int yflash_EraseBlockInNAND(yaffs_Device *dev, int blockNumber)
int yflash_InitialiseNAND(yaffs_Device *dev)
{
int yflash_InitialiseNAND(yaffs_Device *dev)
{
- CheckInit(
dev
);
+ CheckInit();
return YAFFS_OK;
}
return YAFFS_OK;
}