/*
* YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
*
- * Copyright (C) 2002-2010 Aleph One Ltd.
+ * Copyright (C) 2002-2011 Aleph One Ltd.
* for Toby Churchill Ltd and Brightstar Engineering
*
* Created by Charles Manning <charles@aleph1.co.uk>
#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_dev_t *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_dev_t *dev,int nand_chunk,const __u8 *data, const yaffs_ext_tags *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;
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_dev_t *dev,int nand_chunk, __u8 *data, yaffs_ext_tags *tags)
+int yramdisk_rd_chunk(struct yaffs_dev *dev,int nand_chunk, u8 *data, struct yaffs_ext_tags *tags)
{
int blk;
int pg;
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_dev_t *dev,int nand_chunk)
+int yramdisk_check_chunk_erased(struct yaffs_dev *dev,int nand_chunk)
{
int blk;
int pg;
}
-int yramdisk_erase(yaffs_dev_t *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_dev_t *dev)
+int yramdisk_initialise(struct yaffs_dev *dev)
{
//dev->use_nand_ecc = 1; // force on use_nand_ecc which gets faked.
// This saves us doing ECC checks.
return YAFFS_OK;
}
-