X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_mtdif2.c;h=9cf9828ed749e8d30dc6b039c226f6e33f5f020e;hp=c8bccfefd966b98cea83a46f55be6af8fa5c52b1;hb=e528916d3c9c87aa1547b1cc2536389ef5efbcb3;hpb=0f3e5663a6c6d1fe5b8c8abc1b44c7221c62f808 diff --git a/yaffs_mtdif2.c b/yaffs_mtdif2.c index c8bccfe..9cf9828 100644 --- a/yaffs_mtdif2.c +++ b/yaffs_mtdif2.c @@ -15,12 +15,12 @@ // mtd interface for YAFFS2 -const char *yaffs_mtdif2_c_version = "$Id: yaffs_mtdif2.c,v 1.2 2005-07-19 20:41:59 charles Exp $"; - -#ifdef CONFIG_YAFFS_MTD_ENABLED +const char *yaffs_mtdif2_c_version = "$Id: yaffs_mtdif2.c,v 1.6 2005-08-01 20:52:35 luc Exp $"; #include "yportenv.h" +#ifdef CONFIG_YAFFS_YAFFS1 + #include "yaffs_mtdif2.h" #include "linux/mtd/mtd.h" @@ -50,7 +50,6 @@ int nandmtd2_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __ yaffs_PackTags2(&pt,tags); } -#ifndef CONFIG_YAFFS_USE_OLD_MTD if(data && tags) { if(dev->useNANDECC) @@ -60,15 +59,12 @@ int nandmtd2_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __ } else { -#endif if(data) retval = mtd->write(mtd,addr,dev->nBytesPerChunk,&dummy,data); if(tags) retval = mtd->write_oob(mtd,addr,mtd->oobsize,&dummy,(__u8 *)&pt); -#ifndef CONFIG_YAFFS_USE_OLD_MTD } -#endif if (retval == 0) return YAFFS_OK; @@ -89,7 +85,6 @@ int nandmtd2_ReadChunkWithTagsFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 * T(YAFFS_TRACE_MTD,(TSTR("nandmtd2_ReadChunkWithTagsToNAND chunk %d data %p tags %p" TENDSTR),chunkInNAND,data,tags)); -#ifndef CONFIG_YAFFS_USE_OLD_MTD if(data && tags) { if(dev->useNANDECC) @@ -103,14 +98,11 @@ int nandmtd2_ReadChunkWithTagsFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 * } else { -#endif if(data) retval = mtd->read(mtd,addr,dev->nBytesPerChunk,&dummy,data); if(tags) retval = mtd->read_oob(mtd,addr,mtd->oobsize,&dummy,dev->spareBuffer); -#ifndef CONFIG_YAFFS_USE_OLD_MTD } -#endif memcpy(&pt,dev->spareBuffer,sizeof(pt)); @@ -130,7 +122,7 @@ int nandmtd2_MarkNANDBlockBad(struct yaffs_DeviceStruct *dev, int blockNo) T(YAFFS_TRACE_MTD,(TSTR("nandmtd2_MarkNANDBlockBad %d" TENDSTR),blockNo)); - retval = mtd->block_markbad(mtd,blockNo); + retval = mtd->block_markbad(mtd,blockNo * dev->nChunksPerBlock * dev->nBytesPerChunk); if (retval == 0) return YAFFS_OK; @@ -145,7 +137,7 @@ int nandmtd2_QueryNANDBlock(struct yaffs_DeviceStruct *dev, int blockNo, yaffs_B int retval; T(YAFFS_TRACE_MTD,(TSTR("nandmtd2_QueryNANDBlock %d" TENDSTR),blockNo)); - retval = mtd->block_isbad(mtd,blockNo); + retval = mtd->block_isbad(mtd,blockNo* dev->nChunksPerBlock * dev->nBytesPerChunk); if(retval) {