xref: /openbmc/u-boot/fs/yaffs2/yaffs_tagscompat.h (revision fea25720)
1 /*
2  * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
3  *
4  * Copyright (C) 2002-2007 Aleph One Ltd.
5  *   for Toby Churchill Ltd and Brightstar Engineering
6  *
7  * Created by Charles Manning <charles@aleph1.co.uk>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU Lesser General Public License version 2.1 as
11  * published by the Free Software Foundation.
12  *
13  * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
14  */
15 
16 #ifndef __YAFFS_TAGSCOMPAT_H__
17 #define __YAFFS_TAGSCOMPAT_H__
18 
19 #include "yaffs_guts.h"
20 int yaffs_TagsCompatabilityWriteChunkWithTagsToNAND(yaffs_Device * dev,
21 						    int chunkInNAND,
22 						    const __u8 * data,
23 						    const yaffs_ExtendedTags *
24 						    tags);
25 int yaffs_TagsCompatabilityReadChunkWithTagsFromNAND(yaffs_Device * dev,
26 						     int chunkInNAND,
27 						     __u8 * data,
28 						     yaffs_ExtendedTags *
29 						     tags);
30 int yaffs_TagsCompatabilityMarkNANDBlockBad(struct yaffs_DeviceStruct *dev,
31 					    int blockNo);
32 int yaffs_TagsCompatabilityQueryNANDBlock(struct yaffs_DeviceStruct *dev,
33 					  int blockNo, yaffs_BlockState *
34 					  state, int *sequenceNumber);
35 
36 void yaffs_CalcTagsECC(yaffs_Tags * tags);
37 int yaffs_CheckECCOnTags(yaffs_Tags * tags);
38 int yaffs_CountBits(__u8 byte);
39 
40 #endif
41