X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fyaffs_nandif.h;h=e780f7f3b40cd085f8ef5a20beda1db2dc9d3a11;hp=e7153aaea62353a07ddd05fb73bd0a95cb093f21;hb=a78bce6f4a7042fa153ab32d2bb263ecf7d27b66;hpb=cf6888f05f691aa1a357e7e94f9bf7b98174bbc3 diff --git a/direct/yaffs_nandif.h b/direct/yaffs_nandif.h index e7153aa..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-2010 Aleph One Ltd. + * Copyright (C) 2002-2011 Aleph One Ltd. * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning @@ -19,8 +19,7 @@ #include "yaffs_guts.h" - -typedef struct { +struct ynandif_Geometry { unsigned start_block; unsigned end_block; unsigned dataSize; @@ -30,44 +29,37 @@ typedef struct { unsigned inband_tags; unsigned useYaffs2; - int (*initialise)(yaffs_dev_t *dev); - int (*deinitialise)(yaffs_dev_t *dev); + int (*initialise)(struct yaffs_dev *dev); + int (*deinitialise)(struct yaffs_dev *dev); - int (*readChunk) (yaffs_dev_t *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_dev_t *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_dev_t *dev, unsigned blockId); + int (*eraseBlock)(struct yaffs_dev *dev, unsigned blockId); - int (*checkBlockOk)(yaffs_dev_t *dev, unsigned blockId); - int (*markBlockBad)(yaffs_dev_t *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_dev_s * +struct yaffs_dev * yaffs_add_dev_from_geometry(const YCHAR *name, - const ynandif_Geometry *geometry); - -#if 0 - -int ynandif_WriteChunkWithTagsToNAND(yaffs_dev_t *dev,int nand_chunk,const u8 *data, const yaffs_ext_tags *tags); -int ynandif_ReadChunkWithTagsFromNAND(yaffs_dev_t *dev,int nand_chunk, u8 *data, yaffs_ext_tags *tags); -int ynandif_EraseBlockInNAND(yaffs_dev_t *dev, int blockNumber); -int ynandif_InitialiseNAND(yaffs_dev_t *dev); -int ynandif_MarkNANDBlockBad(yaffs_dev_t *dev,int blockNumber); -int ynandif_QueryNANDBlock(yaffs_dev_t *dev, int block_no, yaffs_block_state_t *state, u32 *seq_number); -int ynandif_GetGeometry(yaffs_dev_t *dev, ynandif_Geometry *geometry); -#endif + const struct ynandif_Geometry *geometry); #endif