yaffs: Add xattrib support
[yaffs2.git] / direct / yaffs_norif1.c
index 4e660d083144dd15bba0e14ffe3d360bd4ef9436..ab582b03639f4b8420db1d4a168a49a0fbb0009b 100644 (file)
@@ -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 <charles@aleph1.co.uk>
  *   
  */
 
-const char *yaffs_norif1_c_version = "$Id: yaffs_norif1.c,v 1.3 2008-11-13 01:50:16 charles Exp $";
+const char *yaffs_norif1_c_version = "$Id: yaffs_norif1.c,v 1.6 2010-02-18 01:18:04 charles Exp $";
 
 #include "yaffs_norif1.h"
 
 #include "yportenv.h"
+#include "yaffs_trace.h"
 
 #include "yaffs_flashif.h"
 #include "yaffs_guts.h"
@@ -112,8 +113,8 @@ __u32 *Chunk2DataAddr(yaffs_Device *dev,int chunkId)
        unsigned chunkInBlock;
        __u32  addr;
        
-       block = chunkId/dev->nChunksPerBlock;
-       chunkInBlock = chunkId % dev->nChunksPerBlock;
+       block = chunkId/dev->param.nChunksPerBlock;
+       chunkInBlock = chunkId % dev->param.nChunksPerBlock;
        
        addr = (__u32) Block2Addr(dev,block);
        addr += chunkInBlock * DATA_BYTES_PER_CHUNK;
@@ -127,8 +128,8 @@ __u32 *Chunk2SpareAddr(yaffs_Device *dev,int chunkId)
        unsigned chunkInBlock;
        __u32 addr;
        
-       block = chunkId/dev->nChunksPerBlock;
-       chunkInBlock = chunkId % dev->nChunksPerBlock;
+       block = chunkId/dev->param.nChunksPerBlock;
+       chunkInBlock = chunkId % dev->param.nChunksPerBlock;
        
        addr = (__u32) Block2Addr(dev,block);
        addr += SPARE_AREA_OFFSET;
@@ -173,7 +174,7 @@ int ynorif1_WriteChunkToNAND(yaffs_Device *dev,int chunkInNAND,const __u8 *data,
                 ynorif1_FlashWrite32(spareAddr,(__u32 *)&tmpSpare,sizeof(yaffs_Spare)/4);
 
                 /* Write the data */            
-                ynorif1_FlashWrite32(dataAddr,(__u32 *)data,dev->totalBytesPerChunk / 4);
+                ynorif1_FlashWrite32(dataAddr,(__u32 *)data,dev->param.totalBytesPerChunk / 4);
                 
                 
                 memcpy(&tmpSpare,spare,sizeof(yaffs_Spare));
@@ -212,7 +213,7 @@ int ynorif1_ReadChunkFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 *data, yaf
        
        if(data)
        {
-               ynorif1_FlashRead32(dataAddr,(__u32 *)data,dev->totalBytesPerChunk / 4);
+               ynorif1_FlashRead32(dataAddr,(__u32 *)data,dev->param.totalBytesPerChunk / 4);
        }
        
         if(spare)
@@ -225,7 +226,7 @@ int ynorif1_ReadChunkFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 *data, yaf
                 if(spare->pageStatus == YNOR_POSTMARKER)
                         spare->pageStatus = 0xFF;
                else if(spare->pageStatus != 0xff &&
-                       (spare->pageStatus | YNOR_PREMARKER != 0xff))
+                       (spare->pageStatus | YNOR_PREMARKER) != 0xff)
                        spare->pageStatus = YNOR_PREMARKER;
         }
         
@@ -290,7 +291,7 @@ int ynorif1_InitialiseNAND(yaffs_Device *dev)
        
        ynorif1_FlashInit();
        /* Go through the blocks formatting them if they are not formatted */
-       for(i = dev->startBlock; i <= dev->endBlock; i++){
+       for(i = dev->param.startBlock; i <= dev->param.endBlock; i++){
                if(!ynorif1_IsBlockFormatted(dev,i)){
                        ynorif1_FormatBlock(dev,i);
                }