int ynandif_QueryNANDBlock(struct yaffs_DeviceStruct *dev, int blockId, yaffs_BlockState *state, __u32 *sequenceNumber) { unsigned chunkNo; yaffs_ExtendedTags tags; *sequenceNumber = 0; chunkNo = blockId * dev->nChunksPerBlock; if(!ynandif_IsBlockOk(dev,blockId)){ *state = YAFFS_BLOCK_STATE_DEAD; } else { ynandif_ReadChunkWithTagsFromNAND(dev,chunkNo,NULL,&tags); if(!tags.chunkUsed) { *state = YAFFS_BLOCK_STATE_EMPTY; } else { *state = YAFFS_BLOCK_STATE_NEEDS_SCANNING; *sequenceNumber = tags.sequenceNumber; } } return YAFFS_OK; }
int ynandif_QueryNANDBlock(struct yaffs_dev *dev, int blockId, enum yaffs_block_state *state, u32 *seq_number) { unsigned chunkNo; struct yaffs_ext_tags tags; *seq_number = 0; chunkNo = blockId * dev->param.chunks_per_block; if (!ynandif_IsBlockOk(dev, blockId)) { *state = YAFFS_BLOCK_STATE_DEAD; } else { ynandif_ReadChunkWithTagsFromNAND(dev, chunkNo, NULL, &tags); if (!tags.chunk_used) { *state = YAFFS_BLOCK_STATE_EMPTY; } else { *state = YAFFS_BLOCK_STATE_NEEDS_SCAN; *seq_number = tags.seq_number; } } return YAFFS_OK; }