#include "yaffs_nandemul2k.h"
#include "yaffs_guts.h"
-#include "yaffsinterface.h"
-#include "devextras.h"
#include "yaffs_packedtags2.h"
typedef struct
{
- __u8 data[PAGE_TOTAL_SIZE]; // Data + spare
+ u8 data[PAGE_TOTAL_SIZE]; // Data + spare
int empty; // is this empty?
} nandemul_Page;
return 1;
}
-int nandemul2k_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u8 *data, const yaffs_ExtendedTags *tags)
+int nandemul2k_WriteChunkWithTagsToNAND(struct yaffs_dev *dev,int nand_chunk,const u8 *data, const struct yaffs_ext_tags *tags)
{
int blk;
int pg;
int i;
- __u8 *x;
+ u8 *x;
- blk = chunkInNAND/PAGES_PER_BLOCK;
- pg = chunkInNAND%PAGES_PER_BLOCK;
+ blk = nand_chunk/PAGES_PER_BLOCK;
+ pg = nand_chunk%PAGES_PER_BLOCK;
if(data)
{
x = &ned.block[blk]->page[pg]->data[PAGE_DATA_SIZE];
- yaffs_PackTags2((yaffs_PackedTags2 *)x,tags, !dev->param.noTagsECC);
+ yaffs_pack_tags2((struct yaffs_packed_tags2 *)x,tags, !dev->param.no_tags_ecc);
}
}
-int nandemul2k_ReadChunkWithTagsFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 *data, yaffs_ExtendedTags *tags)
+int nandemul2k_ReadChunkWithTagsFromNAND(struct yaffs_dev *dev,int nand_chunk, u8 *data, struct yaffs_ext_tags *tags)
{
int blk;
int pg;
- __u8 *x;
+ u8 *x;
- blk = chunkInNAND/PAGES_PER_BLOCK;
- pg = chunkInNAND%PAGES_PER_BLOCK;
+ blk = nand_chunk/PAGES_PER_BLOCK;
+ pg = nand_chunk%PAGES_PER_BLOCK;
if(data)
{
x = &ned.block[blk]->page[pg]->data[PAGE_DATA_SIZE];
- yaffs_UnpackTags2(tags,(yaffs_PackedTags2 *)x, !dev->param.noTagsECC);
+ yaffs_unpack_tags2(tags,(struct yaffs_packed_tags2 *)x, !dev->param.no_tags_ecc);
}
return YAFFS_OK;
}
-static int nandemul2k_CheckChunkErased(yaffs_Device *dev,int chunkInNAND)
+static int nandemul2k_CheckChunkErased(struct yaffs_dev *dev,int nand_chunk)
{
int blk;
int pg;
- blk = chunkInNAND/PAGES_PER_BLOCK;
- pg = chunkInNAND%PAGES_PER_BLOCK;
+ blk = nand_chunk/PAGES_PER_BLOCK;
+ pg = nand_chunk%PAGES_PER_BLOCK;
for(i = 0; i < PAGE_TOTAL_SIZE; i++)
}
-int nandemul2k_EraseBlockInNAND(yaffs_Device *dev, int blockNumber)
+int nandemul2k_EraseBlockInNAND(struct yaffs_dev *dev, int blockNumber)
{
return YAFFS_OK;
}
-int nandemul2k_InitialiseNAND(yaffs_Device *dev)
+int nandemul2k_InitialiseNAND(struct yaffs_dev *dev)
{
CheckInit();
return YAFFS_OK;
}
-int nandemul2k_MarkNANDBlockBad(struct yaffs_DeviceStruct *dev, int blockNo)
+int nandemul2k_MarkNANDBlockBad(struct yaffs_dev *dev, int block_no)
{
- __u8 *x;
+ u8 *x;
- x = &ned.block[blockNo]->page[0]->data[PAGE_DATA_SIZE];
+ x = &ned.block[block_no]->page[0]->data[PAGE_DATA_SIZE];
- memset(x,0,sizeof(yaffs_PackedTags2));
+ memset(x,0,sizeof(struct yaffs_packed_tags2));
return YAFFS_OK;
}
-int nandemul2k_QueryNANDBlock(struct yaffs_DeviceStruct *dev, int blockNo, yaffs_BlockState *state, __u32 *sequenceNumber)
+int nandemul2k_QueryNANDBlock(struct yaffs_dev *dev, int block_no, enum yaffs_block_state *state, u32 *seq_number)
{
- yaffs_ExtendedTags tags;
+ struct yaffs_ext_tags tags;
int chunkNo;
- *sequenceNumber = 0;
+ *seq_number = 0;
- chunkNo = blockNo * dev->param.nChunksPerBlock;
+ chunkNo = block_no * dev->param.chunks_per_block;
nandemul2k_ReadChunkWithTagsFromNAND(dev,chunkNo,NULL,&tags);
- if(tags.blockBad)
+ if(tags.block_bad)
{
*state = YAFFS_BLOCK_STATE_DEAD;
}
- else if(!tags.chunkUsed)
+ else if(!tags.chunk_used)
{
*state = YAFFS_BLOCK_STATE_EMPTY;
}
- else if(tags.chunkUsed)
+ else if(tags.chunk_used)
{
*state = YAFFS_BLOCK_STATE_NEEDS_SCANNING;
- *sequenceNumber = tags.sequenceNumber;
+ *seq_number = tags.seq_number;
}
return YAFFS_OK;
}