* This is only intended as test code to test persistence etc.
*/
-const char *yaffs_flashif2_c_version = "$Id: yaffs_fileem2k.c,v 1.22 2010-01-11 04:06:47 charles Exp $";
+const char *yaffs_flashif2_c_version = "$Id: yaffs_fileem2k.c,v 1.24 2010-02-18 01:18:04 charles Exp $";
#include "yportenv.h"
CheckInit();
- if(dev->inbandTags){
+ if(dev->param.inbandTags){
yaffs_PackedTags2TagsPart * pt2tp;
pt2tp = (yaffs_PackedTags2TagsPart *)&data[dev->nDataBytesPerChunk];
h = filedisk.handle[(chunkInNAND / (PAGES_PER_BLOCK * BLOCKS_PER_HANDLE))];
lseek(h,pos,SEEK_SET);
- written = write(h,data,dev->totalBytesPerChunk);
+ written = write(h,data,dev->param.totalBytesPerChunk);
if(yaffs_testPartialWrite){
exit(1);
}
- if(written != dev->totalBytesPerChunk) return YAFFS_FAIL;
+ if(written != dev->param.totalBytesPerChunk) return YAFFS_FAIL;
}
lseek(h,pos,SEEK_SET);
- if( 0 && dev->isYaffs2)
+ if( 0 && dev->param.isYaffs2)
{
written = write(h,tags,sizeof(yaffs_ExtendedTags));
else
{
yaffs_PackedTags2 pt;
- yaffs_PackTags2(dev,&pt,tags);
+ yaffs_PackTags2(&pt,tags, !dev->param.noTagsECC);
__u8 * ptab = (__u8 *)&pt;
nRead = read(h,localBuffer,sizeof(pt));
lseek(h,pos,SEEK_SET);
- if( 0 && dev->isYaffs2)
+ if( 0 && dev->param.isYaffs2)
{
written = write(h,tags,sizeof(yaffs_ExtendedTags));
else
{
yaffs_PackedTags2 pt;
- yaffs_PackTags2(dev,&pt,tags);
+ yaffs_PackTags2(&pt,tags,!dev->param.noTagsECC);
__u8 * ptab = (__u8 *)&pt;
nRead = read(h,localBuffer,sizeof(pt));
- if(dev->inbandTags){
+ if(dev->param.inbandTags){
/* Got to suck the tags out of the data area */
if(!data) {
localData=1;
lseek(h,pos,SEEK_SET);
- nRead = read(h, data,dev->totalBytesPerChunk);
+ nRead = read(h, data,dev->param.totalBytesPerChunk);
yaffs_UnpackTags2TagsPart(tags,pt2tp);
- if(nread != dev->totalBytesPerChunk)
+ if(nread != dev->param.totalBytesPerChunk)
retval = YAFFS_FAIL;
if(localData)
h = filedisk.handle[(chunkInNAND / (PAGES_PER_BLOCK * BLOCKS_PER_HANDLE))];
lseek(h,pos,SEEK_SET);
- if(0 && dev->isYaffs2)
+ if(0 && dev->param.isYaffs2)
{
nread= read(h,tags,sizeof(yaffs_ExtendedTags));
if(nread != sizeof(yaffs_ExtendedTags))
{
yaffs_PackedTags2 pt;
nread= read(h,&pt,sizeof(pt));
- yaffs_UnpackTags2(dev,tags,&pt);
+ yaffs_UnpackTags2(tags,&pt, !dev->param.noTagsECC);
#ifdef SIMULATE_FAILURES
if((chunkInNAND >> 6) == 100) {
if(fail300 && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR){
memset(&pt,0,sizeof(pt));
h = filedisk.handle[(blockNo / ( BLOCKS_PER_HANDLE))];
- lseek(h,((blockNo % BLOCKS_PER_HANDLE) * dev->nChunksPerBlock) * PAGE_SIZE + PAGE_DATA_SIZE,SEEK_SET);
+ lseek(h,((blockNo % BLOCKS_PER_HANDLE) * dev->param.nChunksPerBlock) * PAGE_SIZE + PAGE_DATA_SIZE,SEEK_SET);
written = write(h,&pt,sizeof(pt));
if(written != sizeof(pt)) return YAFFS_FAIL;
h = filedisk.handle[(blockNumber / ( BLOCKS_PER_HANDLE))];
- lseek(h,((blockNumber % BLOCKS_PER_HANDLE) * dev->nChunksPerBlock) * PAGE_SIZE,SEEK_SET);
- for(i = 0; i < dev->nChunksPerBlock; i++)
+ lseek(h,((blockNumber % BLOCKS_PER_HANDLE) * dev->param.nChunksPerBlock) * PAGE_SIZE,SEEK_SET);
+ for(i = 0; i < dev->param.nChunksPerBlock; i++)
{
write(h,pg,PAGE_SIZE);
}
*sequenceNumber = 0;
- chunkNo = blockNo * dev->nChunksPerBlock;
+ chunkNo = blockNo * dev->param.nChunksPerBlock;
yflash2_ReadChunkWithTagsFromNAND(dev,chunkNo,NULL,&tags);
if(tags.blockBad)