annotate moduleconfig.h @ 392:37c92ae29f6e

Add scripts for realtime plotting erased psace vs free space
author Charles Manning <cdhmanning@gmail.com>
date Fri, 19 Mar 2010 16:06:14 +1300
parents 043bd07468b6
children b5309c9b6d7f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
168
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
1 /*
198
b7f785925166 Cleanup patch - Remove all trailing whitespace and fix a few typos.
wookey <wookey>
parents: 184
diff changeset
2 * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
168
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
3 *
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
4 * Copyright (C) 2002-2007 Aleph One Ltd.
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
5 * for Toby Churchill Ltd and Brightstar Engineering
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
6 *
198
b7f785925166 Cleanup patch - Remove all trailing whitespace and fix a few typos.
wookey <wookey>
parents: 184
diff changeset
7 * Created by Martin Fouts <Martin.Fouts@palmsource.com>
168
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
8 *
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
9 * This program is free software; you can redistribute it and/or modify
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
10 * it under the terms of the GNU Lesser General Public License version 2.1 as
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
11 * published by the Free Software Foundation.
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
12 *
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
13 * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
14 */
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
15
80
82fbfedb0261 Modified Makefile to allow 'out of kernel tree' module building for 2.6.x
marty <marty>
parents:
diff changeset
16 #ifndef __YAFFS_CONFIG_H__
82fbfedb0261 Modified Makefile to allow 'out of kernel tree' module building for 2.6.x
marty <marty>
parents:
diff changeset
17 #define __YAFFS_CONFIG_H__
82fbfedb0261 Modified Makefile to allow 'out of kernel tree' module building for 2.6.x
marty <marty>
parents:
diff changeset
18
85
3627c9a05641 Silly Marty, picked wrong guard for moduleconfig.h
marty <marty>
parents: 80
diff changeset
19 #ifdef YAFFS_OUT_OF_TREE
89
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
20
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
21 /* DO NOT UNSET THESE THREE. YAFFS2 will not compile if you do. */
80
82fbfedb0261 Modified Makefile to allow 'out of kernel tree' module building for 2.6.x
marty <marty>
parents:
diff changeset
22 #define CONFIG_YAFFS_FS
82fbfedb0261 Modified Makefile to allow 'out of kernel tree' module building for 2.6.x
marty <marty>
parents:
diff changeset
23 #define CONFIG_YAFFS_YAFFS1
82fbfedb0261 Modified Makefile to allow 'out of kernel tree' module building for 2.6.x
marty <marty>
parents:
diff changeset
24 #define CONFIG_YAFFS_YAFFS2
89
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
25
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
26 /* These options are independent of each other. Select those that matter. */
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
27
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
28 /* Default: Not selected */
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
29 /* Meaning: Yaffs does its own ECC, rather than using MTD ECC */
271
c0dfae9e8073 Major whitespace/style changes to match Linux checkpatch.pl code style
wookey <wookey>
parents: 198
diff changeset
30 /* #define CONFIG_YAFFS_DOES_ECC */
89
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
31
300
4d9d442da93f Allow the disabling of tags ECC
charles <charles>
parents: 271
diff changeset
32 /* Default: Selected */
4d9d442da93f Allow the disabling of tags ECC
charles <charles>
parents: 271
diff changeset
33 /* Meaning: Yaffs does its own ECC on tags for packed tags rather than use mtd */
4d9d442da93f Allow the disabling of tags ECC
charles <charles>
parents: 271
diff changeset
34 #define CONFIG_YAFFS_DOES_TAGS_ECC
4d9d442da93f Allow the disabling of tags ECC
charles <charles>
parents: 271
diff changeset
35
89
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
36 /* Default: Not selected */
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
37 /* Meaning: ECC byte order is 'wrong'. Only meaningful if */
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
38 /* CONFIG_YAFFS_DOES_ECC is set */
271
c0dfae9e8073 Major whitespace/style changes to match Linux checkpatch.pl code style
wookey <wookey>
parents: 198
diff changeset
39 /* #define CONFIG_YAFFS_ECC_WRONG_ORDER */
89
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
40
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
41 /* Default: Selected */
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
42 /* Meaning: Disables testing whether chunks are erased before writing to them*/
80
82fbfedb0261 Modified Makefile to allow 'out of kernel tree' module building for 2.6.x
marty <marty>
parents:
diff changeset
43 #define CONFIG_YAFFS_DISABLE_CHUNK_ERASED_CHECK
89
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
44
311
97a4bd3d225e Add fix for hanging objects
charles <charles>
parents: 300
diff changeset
45 /* Default: Not Selected */
97a4bd3d225e Add fix for hanging objects
charles <charles>
parents: 300
diff changeset
46 /* Meaning: At mount automatically empty all files from lost and found. */
97a4bd3d225e Add fix for hanging objects
charles <charles>
parents: 300
diff changeset
47 /* This is done to fix an old problem where rmdir was not checking for an */
97a4bd3d225e Add fix for hanging objects
charles <charles>
parents: 300
diff changeset
48 /* empty directory. This can also be achieved with a mount option. */
365
db12031081bc Add block refreshing feature
charles <charles>
parents: 311
diff changeset
49 #define CONFIG_YAFFS_EMPTY_LOST_AND_FOUND
311
97a4bd3d225e Add fix for hanging objects
charles <charles>
parents: 300
diff changeset
50
89
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
51 /* Default: Selected */
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
52 /* Meaning: Cache short names, taking more RAM, but faster look-ups */
80
82fbfedb0261 Modified Makefile to allow 'out of kernel tree' module building for 2.6.x
marty <marty>
parents:
diff changeset
53 #define CONFIG_YAFFS_SHORT_NAMES_IN_RAM
89
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
54
365
db12031081bc Add block refreshing feature
charles <charles>
parents: 311
diff changeset
55 /* Default: Unselected */
db12031081bc Add block refreshing feature
charles <charles>
parents: 311
diff changeset
56 /* Meaning: Select to disable block refreshing. */
db12031081bc Add block refreshing feature
charles <charles>
parents: 311
diff changeset
57 /* Block Refreshing periodically rewrites the oldest block. */
db12031081bc Add block refreshing feature
charles <charles>
parents: 311
diff changeset
58 /* #define CONFIG_DISABLE_BLOCK_REFRESHING */
db12031081bc Add block refreshing feature
charles <charles>
parents: 311
diff changeset
59
374
043bd07468b6 Add conditional compilation for background processing
charles <charles>
parents: 365
diff changeset
60 /* Default: Unselected */
043bd07468b6 Add conditional compilation for background processing
charles <charles>
parents: 365
diff changeset
61 /* Meaning: Select to disable background processing */
043bd07468b6 Add conditional compilation for background processing
charles <charles>
parents: 365
diff changeset
62 /* #define CONFIG_DISABLE_BACKGROUND */
043bd07468b6 Add conditional compilation for background processing
charles <charles>
parents: 365
diff changeset
63
179
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
64
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
65 /*
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
66 Older-style on-NAND data format has a "pageStatus" byte to record
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
67 chunk/page state. This byte is zeroed when the page is discarded.
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
68 Choose this option if you have existing on-NAND data in this format
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
69 that you need to continue to support. New data written also uses the
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
70 older-style format.
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
71 Note: Use of this option generally requires that MTD's oob layout be
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
72 adjusted to use the older-style format. See notes on tags formats and
184
35ef89b77a94 Update comments about use of CONFIG_YAFFS_9BYTE_TAGS option.
imcd <imcd>
parents: 182
diff changeset
73 MTD versions in yaffs_mtdif1.c.
179
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
74 */
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
75 /* Default: Not selected */
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
76 /* Meaning: Use older-style on-NAND data format with pageStatus byte */
271
c0dfae9e8073 Major whitespace/style changes to match Linux checkpatch.pl code style
wookey <wookey>
parents: 198
diff changeset
77 /* #define CONFIG_YAFFS_9BYTE_TAGS */
165
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 89
diff changeset
78
89
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 85
diff changeset
79 #endif /* YAFFS_OUT_OF_TREE */
80
82fbfedb0261 Modified Makefile to allow 'out of kernel tree' module building for 2.6.x
marty <marty>
parents:
diff changeset
80
82fbfedb0261 Modified Makefile to allow 'out of kernel tree' module building for 2.6.x
marty <marty>
parents:
diff changeset
81 #endif /* __YAFFS_CONFIG_H__ */