From: charles Date: Mon, 11 Jan 2010 21:43:18 +0000 (+0000) Subject: Change parameters to packing/unpacking to fix mkyaffs2image compilation issue X-Git-Tag: pre-name-change~144 X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=commitdiff_plain;h=fbf2605a5dad8cf93170499d4227064996cce12f Change parameters to packing/unpacking to fix mkyaffs2image compilation issue --- diff --git a/direct/yaffs_fileem2k.c b/direct/yaffs_fileem2k.c index a4a652f..3fa8d3b 100644 --- a/direct/yaffs_fileem2k.c +++ b/direct/yaffs_fileem2k.c @@ -16,7 +16,7 @@ * This is only intended as test code to test persistence etc. */ -const char *yaffs_flashif2_c_version = "$Id: yaffs_fileem2k.c,v 1.22 2010-01-11 04:06:47 charles Exp $"; +const char *yaffs_flashif2_c_version = "$Id: yaffs_fileem2k.c,v 1.23 2010-01-11 21:43:18 charles Exp $"; #include "yportenv.h" @@ -261,7 +261,7 @@ int yflash2_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u else { yaffs_PackedTags2 pt; - yaffs_PackTags2(dev,&pt,tags); + yaffs_PackTags2(&pt,tags, !dev->noTagsECC); __u8 * ptab = (__u8 *)&pt; nRead = read(h,localBuffer,sizeof(pt)); @@ -339,7 +339,7 @@ int yflash2_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u else { yaffs_PackedTags2 pt; - yaffs_PackTags2(dev,&pt,tags); + yaffs_PackTags2(&pt,tags,!dev->noTagsECC); __u8 * ptab = (__u8 *)&pt; nRead = read(h,localBuffer,sizeof(pt)); @@ -474,7 +474,7 @@ int yflash2_ReadChunkWithTagsFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 *d { yaffs_PackedTags2 pt; nread= read(h,&pt,sizeof(pt)); - yaffs_UnpackTags2(dev,tags,&pt); + yaffs_UnpackTags2(tags,&pt, !dev->noTagsECC); #ifdef SIMULATE_FAILURES if((chunkInNAND >> 6) == 100) { if(fail300 && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR){ diff --git a/direct/yaffs_ramem2k.c b/direct/yaffs_ramem2k.c index 6ebb75a..7d8f765 100644 --- a/direct/yaffs_ramem2k.c +++ b/direct/yaffs_ramem2k.c @@ -16,7 +16,7 @@ */ -const char *yaffs_ramem2k_c_version = "$Id: yaffs_ramem2k.c,v 1.6 2010-01-11 04:06:47 charles Exp $"; +const char *yaffs_ramem2k_c_version = "$Id: yaffs_ramem2k.c,v 1.7 2010-01-11 21:43:18 charles Exp $"; #ifndef __KERNEL__ #define CONFIG_YAFFS_RAM_ENABLED @@ -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(dev,(yaffs_PackedTags2 *)x,tags); + yaffs_PackTags2((yaffs_PackedTags2 *)x,tags, !dev->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(dev,tags,(yaffs_PackedTags2 *)x); + yaffs_UnpackTags2(tags,(yaffs_PackedTags2 *)x, !dev->noTagsECC); } return YAFFS_OK; diff --git a/utils/mkyaffs2image.c b/utils/mkyaffs2image.c index 9939658..548fd3a 100644 --- a/utils/mkyaffs2image.c +++ b/utils/mkyaffs2image.c @@ -42,7 +42,7 @@ unsigned yaffs_traceMask=0; #define chunkSize 2048 #define spareSize 64 -const char * mkyaffsimage_c_version = "$Id: mkyaffs2image.c,v 1.4 2007-02-14 01:09:06 wookey Exp $"; +const char * mkyaffsimage_c_version = "$Id: mkyaffs2image.c,v 1.5 2010-01-11 21:43:18 charles Exp $"; typedef struct @@ -182,7 +182,7 @@ static int write_chunk(__u8 *data, __u32 objId, __u32 chunkId, __u32 nBytes) nPages++; - yaffs_PackTags2(&pt,&t); + yaffs_PackTags2(&pt,&t,1); // return write(outFile,&pt,sizeof(yaffs_PackedTags2)); return write(outFile,&pt,spareSize); diff --git a/yaffs_mtdif2.c b/yaffs_mtdif2.c index b814b47..e6b08e4 100644 --- a/yaffs_mtdif2.c +++ b/yaffs_mtdif2.c @@ -14,7 +14,7 @@ /* mtd interface for YAFFS2 */ const char *yaffs_mtdif2_c_version = - "$Id: yaffs_mtdif2.c,v 1.25 2010-01-11 04:06:46 charles Exp $"; + "$Id: yaffs_mtdif2.c,v 1.26 2010-01-11 21:43:18 charles Exp $"; #include "yportenv.h" #include "yaffs_trace.h" @@ -69,7 +69,7 @@ int nandmtd2_WriteChunkWithTagsToNAND(yaffs_Device *dev, int chunkInNAND, pt2tp = (yaffs_PackedTags2TagsPart *)(data + dev->nDataBytesPerChunk); yaffs_PackTags2TagsPart(pt2tp, tags); } else - yaffs_PackTags2(dev, &pt, tags); + yaffs_PackTags2(&pt, tags, !dev->noTagsECC); #if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 17)) ops.mode = MTD_OOB_AUTO; @@ -173,7 +173,7 @@ int nandmtd2_ReadChunkWithTagsFromNAND(yaffs_Device *dev, int chunkInNAND, } else { if (tags) { memcpy(packed_tags_ptr, dev->spareBuffer, packed_tags_size); - yaffs_UnpackTags2(dev, tags, &pt); + yaffs_UnpackTags2(tags, &pt, !dev->noTagsECC); } } diff --git a/yaffs_packedtags2.c b/yaffs_packedtags2.c index e33e8a3..c6f7dcf 100644 --- a/yaffs_packedtags2.c +++ b/yaffs_packedtags2.c @@ -97,11 +97,11 @@ void yaffs_PackTags2TagsPart(yaffs_PackedTags2TagsPart *ptt, } -void yaffs_PackTags2(yaffs_Device *dev, yaffs_PackedTags2 *pt, const yaffs_ExtendedTags *t) +void yaffs_PackTags2(yaffs_PackedTags2 *pt, const yaffs_ExtendedTags *t, int tagsECC) { yaffs_PackTags2TagsPart(&pt->t, t); - if(!dev->noTagsECC) + if(tagsECC) yaffs_ECCCalculateOther((unsigned char *)&pt->t, sizeof(yaffs_PackedTags2TagsPart), &pt->ecc); @@ -156,13 +156,13 @@ void yaffs_UnpackTags2TagsPart(yaffs_ExtendedTags *t, } -void yaffs_UnpackTags2(yaffs_Device *dev, yaffs_ExtendedTags *t, yaffs_PackedTags2 *pt) +void yaffs_UnpackTags2(yaffs_ExtendedTags *t, yaffs_PackedTags2 *pt, int tagsECC) { yaffs_ECCResult eccResult = YAFFS_ECC_RESULT_NO_ERROR; if (pt->t.sequenceNumber != 0xFFFFFFFF && - !dev->noTagsECC){ + tagsECC){ /* Chunk is in use and we need to do ECC */ yaffs_ECCOther ecc; diff --git a/yaffs_packedtags2.h b/yaffs_packedtags2.h index d90c6cb..941e8af 100644 --- a/yaffs_packedtags2.h +++ b/yaffs_packedtags2.h @@ -34,8 +34,8 @@ typedef struct { } yaffs_PackedTags2; /* Full packed tags with ECC, used for oob tags */ -void yaffs_PackTags2(yaffs_Device *dev, yaffs_PackedTags2 *pt, const yaffs_ExtendedTags *t); -void yaffs_UnpackTags2(yaffs_Device *dev, yaffs_ExtendedTags *t, yaffs_PackedTags2 *pt); +void yaffs_PackTags2(yaffs_PackedTags2 *pt, const yaffs_ExtendedTags *t, int tagsECC); +void yaffs_UnpackTags2(yaffs_ExtendedTags *t, yaffs_PackedTags2 *pt, int tagsECC); /* Only the tags part (no ECC for use with inband tags */ void yaffs_PackTags2TagsPart(yaffs_PackedTags2TagsPart *pt, const yaffs_ExtendedTags *t);