Change parameters to packing/unpacking to fix mkyaffs2image compilation issue
authorcharles <charles>
Mon, 11 Jan 2010 21:43:18 +0000 (21:43 +0000)
committercharles <charles>
Mon, 11 Jan 2010 21:43:18 +0000 (21:43 +0000)
direct/yaffs_fileem2k.c
direct/yaffs_ramem2k.c
utils/mkyaffs2image.c
yaffs_mtdif2.c
yaffs_packedtags2.c
yaffs_packedtags2.h

index a4a652f49bf12f56d41715a817f12e9e6b77877c..3fa8d3baeca47f14dc1ea6bde6fc7aa0c2fbc624 100644 (file)
@@ -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){
index 6ebb75a227bde9ce0909da0b4c93abbb364bd76c..7d8f7659cd8f84f493ac476bd81b5a740331cc97 100644 (file)
@@ -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;
index 9939658c852356b4c4671cdba4d5534be89d2a4b..548fd3a7ae07f2120fb8f2baa7706a09fba909f4 100644 (file)
@@ -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);
index b814b47c2c56cce05c0cbdda02f7e994f475f3fc..e6b08e44c5d116fd04293624779a881c183e9c2e 100644 (file)
@@ -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);
                }
        }
 
index e33e8a3ac37f1d3e118deb95624cb1243d6b5b29..c6f7dcf3365035368a7c9b077ed0ede7ebb5a2db 100644 (file)
@@ -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;
index d90c6cbfd8218bc2f95083c5b6affc193c88ed85..941e8afc6aeace22622e875b37140d3543ba39c1 100644 (file)
@@ -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);