projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix devname which was faked by always using "(unavailable)".
[yaffs2.git]
/
direct
/
yaffs_fileem2k.c
diff --git
a/direct/yaffs_fileem2k.c
b/direct/yaffs_fileem2k.c
index 0a9b9e337009192cec6305d652c45502faafab63..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.
2 2004-11-22 03:22:25
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"
@@
-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));
@@
-160,7
+172,7
@@
int yflash_MarkNANDBlockBad(struct yaffs_DeviceStruct *dev, int blockNo)
yaffs_PackedTags2 pt;
yaffs_PackedTags2 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;
@@
-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;
}