X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fyaffs_ramem2k.c;h=b3a8724536fc3066a016bd3cd331bad299572b15;hp=96fae0bbe883cdc36fe6a292dd588bb9ac584705;hb=35251e467a7817c6b991d88797891b4b1c191d5f;hpb=170ea32c52fd2d9b7cbda9b169ad44038b1d15cf diff --git a/direct/yaffs_ramem2k.c b/direct/yaffs_ramem2k.c index 96fae0b..b3a8724 100644 --- a/direct/yaffs_ramem2k.c +++ b/direct/yaffs_ramem2k.c @@ -1,7 +1,7 @@ /* * YAFFS: Yet Another Flash File System. A NAND-flash specific file system. * - * Copyright (C) 2002-2007 Aleph One Ltd. + * Copyright (C) 2002-2010 Aleph One Ltd. * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning @@ -9,7 +9,6 @@ * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. - * */ /* @@ -17,7 +16,7 @@ */ -const char *yaffs_ramem2k_c_version = "$Id: yaffs_ramem2k.c,v 1.2 2007-02-12 16:49:50 wookey Exp $"; +const char *yaffs_ramem2k_c_version = "$Id: yaffs_ramem2k.c,v 1.8 2010-02-18 01:18:04 charles Exp $"; #ifndef __KERNEL__ #define CONFIG_YAFFS_RAM_ENABLED @@ -28,6 +27,7 @@ const char *yaffs_ramem2k_c_version = "$Id: yaffs_ramem2k.c,v 1.2 2007-02-12 16: #ifdef CONFIG_YAFFS_RAM_ENABLED #include "yportenv.h" +#include "yaffs_trace.h" #include "yaffs_nandemul2k.h" #include "yaffs_guts.h" @@ -191,7 +191,7 @@ static int CheckInit(void) return 1; } -int nandemul2k_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u8 *data, yaffs_ExtendedTags *tags) +int nandemul2k_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u8 *data, const yaffs_ExtendedTags *tags) { int blk; int pg; @@ -221,7 +221,7 @@ int nandemul2k_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const { x = &ned.block[blk]->page[pg]->data[PAGE_DATA_SIZE]; - yaffs_PackTags2((yaffs_PackedTags2 *)x,tags); + yaffs_PackTags2((yaffs_PackedTags2 *)x,tags, !dev->param.noTagsECC); } @@ -257,7 +257,7 @@ int nandemul2k_ReadChunkWithTagsFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 { x = &ned.block[blk]->page[pg]->data[PAGE_DATA_SIZE]; - yaffs_UnpackTags2(tags,(yaffs_PackedTags2 *)x); + yaffs_UnpackTags2(tags,(yaffs_PackedTags2 *)x, !dev->param.noTagsECC); } return YAFFS_OK; @@ -328,14 +328,14 @@ int nandemul2k_MarkNANDBlockBad(struct yaffs_DeviceStruct *dev, int blockNo) } -int nandemul2k_QueryNANDBlock(struct yaffs_DeviceStruct *dev, int blockNo, yaffs_BlockState *state, int *sequenceNumber) +int nandemul2k_QueryNANDBlock(struct yaffs_DeviceStruct *dev, int blockNo, yaffs_BlockState *state, __u32 *sequenceNumber) { yaffs_ExtendedTags tags; int chunkNo; *sequenceNumber = 0; - chunkNo = blockNo * dev->nChunksPerBlock; + chunkNo = blockNo * dev->param.nChunksPerBlock; nandemul2k_ReadChunkWithTagsFromNAND(dev,chunkNo,NULL,&tags); if(tags.blockBad)