X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fyaffs_nandif.h;h=e780f7f3b40cd085f8ef5a20beda1db2dc9d3a11;hp=cf4562c093280dffcc77b620ff3608756bc7c511;hb=a78bce6f4a7042fa153ab32d2bb263ecf7d27b66;hpb=4a700fe570d217c2c5df87070db7c2652bc0eaaf diff --git a/direct/yaffs_nandif.h b/direct/yaffs_nandif.h index cf4562c..e780f7f 100644 --- a/direct/yaffs_nandif.h +++ b/direct/yaffs_nandif.h @@ -1,7 +1,7 @@ /* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. + * YAFFS: Yet another Flash File System . A NAND-flash specific file system. * - * Copyright (C) 2002-2007 Aleph One Ltd. + * Copyright (C) 2002-2011 Aleph One Ltd. * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning @@ -19,55 +19,47 @@ #include "yaffs_guts.h" - -typedef struct { - unsigned startBlock; - unsigned endBlock; +struct ynandif_Geometry { + unsigned start_block; + unsigned end_block; unsigned dataSize; unsigned spareSize; unsigned pagesPerBlock; unsigned hasECC; - unsigned inbandTags; + unsigned inband_tags; unsigned useYaffs2; - int (*initialise)(yaffs_Device *dev); - int (*deinitialise)(yaffs_Device *dev); + int (*initialise)(struct yaffs_dev *dev); + int (*deinitialise)(struct yaffs_dev *dev); - int (*readChunk) (yaffs_Device *dev, - unsigned pageId, - unsigned char *data, unsigned dataLength, - unsigned char *spare, unsigned spareLength, + int (*readChunk) (struct yaffs_dev *dev, + unsigned pageId, + unsigned char *data, + unsigned dataLength, + unsigned char *spare, + unsigned spareLength, int *eccStatus); -// ECC status is set to 0 for OK, 1 for fixed, -1 for unfixed. + /* ECC status is set to 0 for OK, 1 for fixed, -1 for unfixed. */ - int (*writeChunk)(yaffs_Device *dev, - unsigned pageId, - const unsigned char *data, unsigned dataLength, - const unsigned char *spare, unsigned spareLength); + int (*writeChunk)(struct yaffs_dev *dev, + unsigned pageId, + const unsigned char *data, + unsigned dataLength, + const unsigned char *spare, + unsigned spareLength); - int (*eraseBlock)(yaffs_Device *dev, unsigned blockId); + int (*eraseBlock)(struct yaffs_dev *dev, unsigned blockId); - int (*checkBlockOk)(yaffs_Device *dev, unsigned blockId); - int (*markBlockBad)(yaffs_Device *dev, unsigned blockId); + int (*checkBlockOk)(struct yaffs_dev *dev, unsigned blockId); + int (*markBlockBad)(struct yaffs_dev *dev, unsigned blockId); void *privateData; -} ynandif_Geometry; - -struct yaffs_DeviceStruct * - yaffs_AddDeviceFromGeometry(const YCHAR *name, - const ynandif_Geometry *geometry); +}; -#if 0 - -int ynandif_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u8 *data, const yaffs_ExtendedTags *tags); -int ynandif_ReadChunkWithTagsFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 *data, yaffs_ExtendedTags *tags); -int ynandif_EraseBlockInNAND(yaffs_Device *dev, int blockNumber); -int ynandif_InitialiseNAND(yaffs_Device *dev); -int ynandif_MarkNANDBlockBad(yaffs_Device *dev,int blockNumber); -int ynandif_QueryNANDBlock(yaffs_Device *dev, int blockNo, yaffs_BlockState *state, __u32 *sequenceNumber); -int ynandif_GetGeometry(yaffs_Device *dev, ynandif_Geometry *geometry); -#endif +struct yaffs_dev * + yaffs_add_dev_from_geometry(const YCHAR *name, + const struct ynandif_Geometry *geometry); #endif