summaryrefslogtreecommitdiff
path: root/yaffs_mtdif.c
diff options
context:
space:
mode:
authormarty <marty>2005-08-11 01:07:43 +0000
committermarty <marty>2005-08-11 01:07:43 +0000
commit9f361d87ca8c3d331ed1a4ffea53dd9a8d55ee88 (patch)
tree313ebadad06c07c5e2132bfc7b30f4a2d21864cb /yaffs_mtdif.c
parent68f0159122cfb94e6912dd99d6398ba72e578a72 (diff)
lindent
Diffstat (limited to 'yaffs_mtdif.c')
-rw-r--r--yaffs_mtdif.c175
1 files changed, 89 insertions, 86 deletions
diff --git a/yaffs_mtdif.c b/yaffs_mtdif.c
index 9537b1a..9f2b3ab 100644
--- a/yaffs_mtdif.c
+++ b/yaffs_mtdif.c
@@ -13,8 +13,9 @@
*
*/
-const char *yaffs_mtdif_c_version = "$Id: yaffs_mtdif.c,v 1.9 2005-08-02 19:18:44 luc Exp $";
-
+const char *yaffs_mtdif_c_version =
+ "$Id: yaffs_mtdif.c,v 1.10 2005-08-11 01:07:43 marty Exp $";
+
#include "yportenv.h"
#ifdef CONFIG_YAFFS_YAFFS1
@@ -38,118 +39,120 @@ static struct nand_oobinfo yaffs_noeccinfo = {
.useecc = 0,
};
-
-int nandmtd_WriteChunkToNAND(yaffs_Device *dev,int chunkInNAND,const __u8 *data, const yaffs_Spare *spare)
+int nandmtd_WriteChunkToNAND(yaffs_Device * dev, int chunkInNAND,
+ const __u8 * data, const yaffs_Spare * spare)
{
struct mtd_info *mtd = (struct mtd_info *)(dev->genericDevice);
size_t dummy;
- int retval = 0;
-
- loff_t addr = ((loff_t)chunkInNAND) * dev->nBytesPerChunk;
-
- __u8 *spareAsBytes = (__u8 *)spare;
-
- if(data && spare)
- {
- if(dev->useNANDECC)
- retval = mtd->write_ecc(mtd,addr,dev->nBytesPerChunk,&dummy,data,spareAsBytes,&yaffs_oobinfo);
+ int retval = 0;
+
+ loff_t addr = ((loff_t) chunkInNAND) * dev->nBytesPerChunk;
+
+ __u8 *spareAsBytes = (__u8 *) spare;
+
+ if (data && spare) {
+ if (dev->useNANDECC)
+ retval =
+ mtd->write_ecc(mtd, addr, dev->nBytesPerChunk,
+ &dummy, data, spareAsBytes,
+ &yaffs_oobinfo);
else
- retval = mtd->write_ecc(mtd,addr,dev->nBytesPerChunk,&dummy,data,spareAsBytes,&yaffs_noeccinfo);
- }
- else
- {
- if(data)
- retval = mtd->write(mtd,addr,dev->nBytesPerChunk,&dummy,data);
- if(spare)
- retval = mtd->write_oob(mtd,addr,YAFFS_BYTES_PER_SPARE,&dummy,spareAsBytes);
+ retval =
+ mtd->write_ecc(mtd, addr, dev->nBytesPerChunk,
+ &dummy, data, spareAsBytes,
+ &yaffs_noeccinfo);
+ } else {
+ if (data)
+ retval =
+ mtd->write(mtd, addr, dev->nBytesPerChunk, &dummy,
+ data);
+ if (spare)
+ retval =
+ mtd->write_oob(mtd, addr, YAFFS_BYTES_PER_SPARE,
+ &dummy, spareAsBytes);
}
- if (retval == 0)
- return YAFFS_OK;
- else
- return YAFFS_FAIL;
+ if (retval == 0)
+ return YAFFS_OK;
+ else
+ return YAFFS_FAIL;
}
-int nandmtd_ReadChunkFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 *data, yaffs_Spare *spare)
+int nandmtd_ReadChunkFromNAND(yaffs_Device * dev, int chunkInNAND, __u8 * data,
+ yaffs_Spare * spare)
{
struct mtd_info *mtd = (struct mtd_info *)(dev->genericDevice);
size_t dummy;
- int retval = 0;
-
- loff_t addr = ((loff_t)chunkInNAND) * dev->nBytesPerChunk;
-
- __u8 *spareAsBytes = (__u8 *)spare;
-
- if(data && spare)
- {
- if(dev->useNANDECC)
- { // Careful, this call adds 2 ints to the end of the spare data. Calling function should
- // allocate enough memory for spare, i.e. [YAFFS_BYTES_PER_SPARE+2*sizeof(int)].
- retval = mtd->read_ecc(mtd,addr,dev->nBytesPerChunk,&dummy,data,spareAsBytes,&yaffs_oobinfo);
- }
- else
- {
- retval = mtd->read_ecc(mtd,addr,dev->nBytesPerChunk,&dummy,data,spareAsBytes,&yaffs_noeccinfo);
+ int retval = 0;
+
+ loff_t addr = ((loff_t) chunkInNAND) * dev->nBytesPerChunk;
+
+ __u8 *spareAsBytes = (__u8 *) spare;
+
+ if (data && spare) {
+ if (dev->useNANDECC) { /* Careful, this call adds 2 ints */
+ /* to the end of the spare data. Calling function */
+ /* should allocate enough memory for spare, */
+ /* i.e. [YAFFS_BYTES_PER_SPARE+2*sizeof(int)]. */
+ retval =
+ mtd->read_ecc(mtd, addr, dev->nBytesPerChunk,
+ &dummy, data, spareAsBytes,
+ &yaffs_oobinfo);
+ } else {
+ retval =
+ mtd->read_ecc(mtd, addr, dev->nBytesPerChunk,
+ &dummy, data, spareAsBytes,
+ &yaffs_noeccinfo);
}
- }
- else
- {
- if(data)
- retval = mtd->read(mtd,addr,dev->nBytesPerChunk,&dummy,data);
- if(spare)
- retval = mtd->read_oob(mtd,addr,YAFFS_BYTES_PER_SPARE,&dummy,spareAsBytes);
+ } else {
+ if (data)
+ retval =
+ mtd->read(mtd, addr, dev->nBytesPerChunk, &dummy,
+ data);
+ if (spare)
+ retval =
+ mtd->read_oob(mtd, addr, YAFFS_BYTES_PER_SPARE,
+ &dummy, spareAsBytes);
}
- if (retval == 0)
- return YAFFS_OK;
- else
- return YAFFS_FAIL;
-}
-
-// Callback not needed for NAND
-#if 0
-static void nandmtd_EraseCallback(struct erase_info *ei)
-{
- yaffs_Device *dev = (yaffs_Device *)ei->priv;
- up(&dev->sem);
+ if (retval == 0)
+ return YAFFS_OK;
+ else
+ return YAFFS_FAIL;
}
-#endif
-
-int nandmtd_EraseBlockInNAND(yaffs_Device *dev, int blockNumber)
+int nandmtd_EraseBlockInNAND(yaffs_Device * dev, int blockNumber)
{
struct mtd_info *mtd = (struct mtd_info *)(dev->genericDevice);
- __u32 addr = ((loff_t) blockNumber) * dev->nBytesPerChunk * dev->nChunksPerBlock;
+ __u32 addr =
+ ((loff_t) blockNumber) * dev->nBytesPerChunk
+ * dev->nChunksPerBlock;
struct erase_info ei;
- int retval = 0;
-
+ int retval = 0;
+
ei.mtd = mtd;
ei.addr = addr;
ei.len = dev->nBytesPerChunk * dev->nChunksPerBlock;
ei.time = 1000;
ei.retries = 2;
ei.callback = NULL;
- ei.priv = (u_long)dev;
-
- // Todo finish off the ei if required
-
- sema_init(&dev->sem,0);
-
- retval = mtd->erase(mtd,&ei);
-
- //No need for callback
- // down(&dev->sem); // Wait for the erasure to complete
-
- if (retval == 0)
- return YAFFS_OK;
- else
- return YAFFS_FAIL;
+ ei.priv = (u_long) dev;
+
+ /* Todo finish off the ei if required */
+
+ sema_init(&dev->sem, 0);
+
+ retval = mtd->erase(mtd, &ei);
+
+ if (retval == 0)
+ return YAFFS_OK;
+ else
+ return YAFFS_FAIL;
}
-int nandmtd_InitialiseNAND(yaffs_Device *dev)
+int nandmtd_InitialiseNAND(yaffs_Device * dev)
{
return YAFFS_OK;
}
-#endif // CONFIG_YAFFS_YAFFS1
-
+#endif /* CONFIG_YAFFS_YAFFS1 */