* yaffs_ramdisk.c: yaffs ram disk component
* This provides a ram disk under yaffs.
* NB this is not intended for NAND emulation.
- * Use this with dev->useNANDECC enabled, then ECC overheads are not required.
+ * Use this with dev->use_nand_ecc enabled, then ECC overheads are not required.
*/
const char *yaffs_ramdisk_c_version = "$Id: yaffs_ramdisk.c,v 1.6 2010-01-11 04:06:47 charles Exp $";
#include "yaffs_ramdisk.h"
#include "yaffs_guts.h"
-#include "devextras.h"
#include "yaffs_packedtags1.h"
typedef struct
{
- __u8 data[528]; // Data + spare
+ u8 data[528]; // Data + spare
} yramdisk_page;
typedef struct
static yramdisk_device ramdisk;
-static int CheckInit(yaffs_Device *dev)
+static int CheckInit(struct yaffs_dev *dev)
{
static int initialised = 0;
ramdisk.nBlocks = (SIZE_IN_MB * 1024 * 1024)/(16 * 1024);
- ramdisk.block = YMALLOC(sizeof(yramdisk_block *) * ramdisk.nBlocks);
+ ramdisk.block = malloc(sizeof(yramdisk_block *) * ramdisk.nBlocks);
if(!ramdisk.block) return 0;
for(i=0; i <ramdisk.nBlocks && !fail; i++)
{
- if((ramdisk.block[i] = YMALLOC(sizeof(yramdisk_block))) == 0)
+ if((ramdisk.block[i] = malloc(sizeof(yramdisk_block))) == 0)
{
fail = 1;
}
{
for(i = 0; i < nAllocated; i++)
{
- YFREE(ramdisk.block[i]);
+ kfree(ramdisk.block[i]);
}
- YFREE(ramdisk.block);
+ kfree(ramdisk.block);
- T(YAFFS_TRACE_ALWAYS,("Allocation failed, could only allocate %dMB of %dMB requested.\n",
- nAllocated/64,ramdisk.nBlocks * 528));
+ yaffs_trace(YAFFS_TRACE_ALWAYS,
+ "Allocation failed, could only allocate %dMB of %dMB requested.\n",
+ nAllocated/64,ramdisk.nBlocks * 528);
return 0;
}
return 1;
}
-int yramdisk_wr_chunk(yaffs_Device *dev,int chunkInNAND,const __u8 *data, const yaffs_ExtendedTags *tags)
+int yramdisk_wr_chunk(struct yaffs_dev *dev,int nand_chunk,const u8 *data, const struct yaffs_ext_tags *tags)
{
int blk;
int pg;
CheckInit(dev);
- blk = chunkInNAND/32;
- pg = chunkInNAND%32;
+ blk = nand_chunk/32;
+ pg = nand_chunk%32;
if(data)
if(tags)
{
- yaffs_PackedTags1 pt;
+ struct yaffs_packed_tags1 pt;
- yaffs_PackTags1(&pt,tags);
+ yaffs_pack_tags1(&pt,tags);
memcpy(&ramdisk.block[blk]->page[pg].data[512],&pt,sizeof(pt));
}
}
-int yramdisk_rd_chunk(yaffs_Device *dev,int chunkInNAND, __u8 *data, yaffs_ExtendedTags *tags)
+int yramdisk_rd_chunk(struct yaffs_dev *dev,int nand_chunk, u8 *data, struct yaffs_ext_tags *tags)
{
int blk;
int pg;
CheckInit(dev);
- blk = chunkInNAND/32;
- pg = chunkInNAND%32;
+ blk = nand_chunk/32;
+ pg = nand_chunk%32;
if(data)
if(tags)
{
- yaffs_PackedTags1 pt;
+ struct yaffs_packed_tags1 pt;
memcpy(&pt,&ramdisk.block[blk]->page[pg].data[512],sizeof(pt));
yaffs_unpack_tags1(tags,&pt);
}
-int yramdisk_check_chunk_erased(yaffs_Device *dev,int chunkInNAND)
+int yramdisk_check_chunk_erased(struct yaffs_dev *dev,int nand_chunk)
{
int blk;
int pg;
CheckInit(dev);
- blk = chunkInNAND/32;
- pg = chunkInNAND%32;
+ blk = nand_chunk/32;
+ pg = nand_chunk%32;
for(i = 0; i < 528; i++)
}
-int yramdisk_erase(yaffs_Device *dev, int blockNumber)
+int yramdisk_erase(struct yaffs_dev *dev, int blockNumber)
{
CheckInit(dev);
if(blockNumber < 0 || blockNumber >= ramdisk.nBlocks)
{
- T(YAFFS_TRACE_ALWAYS,("Attempt to erase non-existant block %d\n",blockNumber));
+ yaffs_trace(YAFFS_TRACE_ALWAYS,
+ "Attempt to erase non-existant block %d\n",
+ blockNumber);
return YAFFS_FAIL;
}
else
}
-int yramdisk_initialise(yaffs_Device *dev)
+int yramdisk_initialise(struct yaffs_dev *dev)
{
- //dev->useNANDECC = 1; // force on useNANDECC which gets faked.
+ //dev->use_nand_ecc = 1; // force on use_nand_ecc which gets faked.
// This saves us doing ECC checks.
return YAFFS_OK;
}
-