X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Ftest-framework%2Fyaffs_ramdisk.c;fp=direct%2Ftest-framework%2Fyaffs_ramdisk.c;h=12ee90cd358938e0339b52bd8bcb74d86784cf0c;hp=3d71e5170e0190aaf7e9c8c378bebe4623b67774;hb=b4d5215f18486403d16f2e776000e43eba052f40;hpb=93d04b9574a71315361b3ae5294b8ff95a6d848c diff --git a/direct/test-framework/yaffs_ramdisk.c b/direct/test-framework/yaffs_ramdisk.c index 3d71e51..12ee90c 100644 --- a/direct/test-framework/yaffs_ramdisk.c +++ b/direct/test-framework/yaffs_ramdisk.c @@ -36,7 +36,7 @@ -typedef struct +typedef struct { u8 data[528]; // Data + spare } yramdisk_page; @@ -44,7 +44,7 @@ typedef struct typedef struct { yramdisk_page page[32]; // The pages in the block - + } yramdisk_block; @@ -60,31 +60,31 @@ static yramdisk_device ramdisk; static int CheckInit(struct yaffs_dev *dev) { static int initialised = 0; - + int i; int fail = 0; - //int nBlocks; + //int nBlocks; int nAllocated = 0; - - if(initialised) + + if(initialised) { return YAFFS_OK; } initialised = 1; - - + + ramdisk.nBlocks = (SIZE_IN_MB * 1024 * 1024)/(16 * 1024); - + ramdisk.block = malloc(sizeof(yramdisk_block *) * ramdisk.nBlocks); - + if(!ramdisk.block) return 0; - + for(i=0; i page[pg].data,data,512); } - - + + if(tags) { struct yaffs_packed_tags1 pt; - + yaffs_pack_tags1(&pt,tags); memcpy(&ramdisk.block[blk]->page[pg].data[512],&pt,sizeof(pt)); } - return YAFFS_OK; + return YAFFS_OK; } @@ -152,26 +152,26 @@ int yramdisk_rd_chunk(struct yaffs_dev *dev,int nand_chunk, u8 *data, struct yaf int blk; int pg; - + CheckInit(dev); - + blk = nand_chunk/32; pg = nand_chunk%32; - - + + if(data) { memcpy(data,ramdisk.block[blk]->page[pg].data,512); } - - + + if(tags) { struct yaffs_packed_tags1 pt; - + memcpy(&pt,&ramdisk.block[blk]->page[pg].data[512],sizeof(pt)); yaffs_unpack_tags1(tags,&pt); - + } return YAFFS_OK; @@ -184,13 +184,13 @@ int yramdisk_check_chunk_erased(struct yaffs_dev *dev,int nand_chunk) int pg; int i; - + CheckInit(dev); - + blk = nand_chunk/32; pg = nand_chunk%32; - - + + for(i = 0; i < 528; i++) { if(ramdisk.block[blk]->page[pg].data[i] != 0xFF) @@ -205,9 +205,9 @@ int yramdisk_check_chunk_erased(struct yaffs_dev *dev,int nand_chunk) int yramdisk_erase(struct yaffs_dev *dev, int blockNumber) { - + CheckInit(dev); - + if(blockNumber < 0 || blockNumber >= ramdisk.nBlocks) { yaffs_trace(YAFFS_TRACE_ALWAYS, @@ -220,14 +220,16 @@ int yramdisk_erase(struct yaffs_dev *dev, int blockNumber) memset(ramdisk.block[blockNumber],0xFF,sizeof(yramdisk_block)); return YAFFS_OK; } - + } int yramdisk_initialise(struct yaffs_dev *dev) { - //dev->use_nand_ecc = 1; // force on use_nand_ecc which gets faked. + (void) dev; + + //dev->use_nand_ecc = 1; // force on use_nand_ecc which gets faked. // This saves us doing ECC checks. - + return YAFFS_OK; }