annotate Kconfig @ 196:46d4855f90b0

Change checkpoint to calculate number of blocks required instead of using a hardcoded value
author charles <charles>
date Mon, 03 Dec 2007 03:21:48 +0000
parents 35ef89b77a94
children b7f785925166
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
1 #
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
2 # YAFFS file system configurations
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
3 #
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
4
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
5 config YAFFS_FS
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
6 tristate "YAFFS2 file system support"
53
9568724a7a82 Add missing default value for some Kconfig's entries.
luc <luc>
parents: 50
diff changeset
7 default n
121
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
8 depends on MTD
89
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 62
diff changeset
9 select YAFFS_YAFFS1
b4b0f79124e4 Added some documentation to moduleconfig.h and set it to match the
marty <marty>
parents: 62
diff changeset
10 select YAFFS_YAFFS2
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
11 help
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
12 YAFFS2, or Yet Another Flash Filing System, is a filing system
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
13 optimised for NAND Flash chips.
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
14
168
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
15 To compile the YAFFS2 file system support as a module, choose M
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
16 here: the module will be called yaffs2.
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
17
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
18 If unsure, say N.
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
19
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
20 Further information on YAFFS2 is available at
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
21 <http://www.aleph1.co.uk/yaffs/>.
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
22
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
23 config YAFFS_YAFFS1
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
24 bool "512 byte / page devices"
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
25 depends on YAFFS_FS
53
9568724a7a82 Add missing default value for some Kconfig's entries.
luc <luc>
parents: 50
diff changeset
26 default y
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
27 help
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
28 Enable YAFFS1 support -- yaffs for 512 byte / page devices
168
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
29
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
30 Not needed for 2K-page devices.
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
31
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
32 If unsure, say Y.
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
33
179
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
34 config YAFFS_9BYTE_TAGS
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
35 bool "Use older-style on-NAND data format with pageStatus byte"
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
36 depends on YAFFS_YAFFS1
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
37 default n
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
38 help
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
39
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
40 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
41 chunk/page state. This byte is zero when the page is discarded.
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
42 Choose this option if you have existing on-NAND data using this
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
43 format that you need to continue to support. New data written
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
44 also uses the older-style format. Note: Use of this option
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
45 generally requires that MTD's oob layout be adjusted to use the
184
35ef89b77a94 Update comments about use of CONFIG_YAFFS_9BYTE_TAGS option.
imcd <imcd>
parents: 179
diff changeset
46 older-style format. See notes on tags formats and MTD versions
35ef89b77a94 Update comments about use of CONFIG_YAFFS_9BYTE_TAGS option.
imcd <imcd>
parents: 179
diff changeset
47 in yaffs_mtdif1.c.
179
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
48
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
49 If unsure, say N.
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
50
61
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
51 config YAFFS_DOES_ECC
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
52 bool "Lets Yaffs do its own ECC"
179
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
53 depends on YAFFS_FS && YAFFS_YAFFS1 && !YAFFS_9BYTE_TAGS
61
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
54 default n
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
55 help
61
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
56 This enables Yaffs to use its own ECC functions instead of using
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
57 the ones from the generic MTD-NAND driver.
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
58
61
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
59 If unsure, say N.
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
60
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
61 config YAFFS_ECC_WRONG_ORDER
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
62 bool "Use the same ecc byte order as Steven Hill's nand_ecc.c"
179
2c3cea26b1ca Rolling in Ians and other changes
charles <charles>
parents: 168
diff changeset
63 depends on YAFFS_FS && YAFFS_DOES_ECC && !YAFFS_9BYTE_TAGS
61
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
64 default n
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
65 help
168
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
66 This makes yaffs_ecc.c use the same ecc byte order as Steven
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
67 Hill's nand_ecc.c. If not set, then you get the same ecc byte
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
68 order as SmartMedia.
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
69
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
70 If unsure, say N.
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
71
62
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
72 config YAFFS_YAFFS2
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
73 bool "2048 byte (or larger) / page devices"
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
74 depends on YAFFS_FS
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
75 default y
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
76 help
168
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
77 Enable YAFFS2 support -- yaffs for >= 2K bytes per page devices
62
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
78
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
79 If unsure, say Y.
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
80
108
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
81 config YAFFS_AUTO_YAFFS2
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
82 bool "Autoselect yaffs2 format"
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
83 depends on YAFFS_YAFFS2
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
84 default y
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
85 help
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
86 Without this, you need to explicitely use yaffs2 as the file
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
87 system type. With this, you can say "yaffs" and yaffs or yaffs2
168
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
88 will be used depending on the device page size (yaffs on
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
89 512-byte page devices, yaffs2 on 2K page devices).
108
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
90
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
91 If unsure, say Y.
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
92
121
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
93 config YAFFS_DISABLE_LAZY_LOAD
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
94 bool "Disable lazy loading"
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
95 depends on YAFFS_YAFFS2
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
96 default n
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
97 help
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
98 "Lazy loading" defers loading file details until they are
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
99 required. This saves mount time, but makes the first look-up
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
100 a bit longer.
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
101
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
102 Lazy loading will only happen if enabled by this option being 'n'
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
103 and if the appropriate tags are available, else yaffs2 will
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
104 automatically fall back to immediate loading and do the right
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
105 thing.
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
106
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
107 Lazy laoding will be required by checkpointing.
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
108
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
109 Setting this to 'y' will disable lazy loading.
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
110
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
111 If unsure, say N.
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
112
165
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
113
104
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
114 config YAFFS_DISABLE_WIDE_TNODES
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
115 bool "Turn off wide tnodes"
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
116 depends on YAFFS_FS
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
117 default n
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
118 help
168
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
119 Wide tnodes are only used for NAND arrays >=32MB for 512-byte
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
120 page devices and >=128MB for 2k page devices. They use slightly
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
121 more RAM but are faster since they eliminate chunk group
104
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
122 searching.
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
123
168
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
124 Setting this to 'y' will force tnode width to 16 bits and save
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
125 memory but make large arrays slower.
104
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
126
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
127 If unsure, say N.
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
128
142
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
129 config YAFFS_ALWAYS_CHECK_CHUNK_ERASED
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
130 bool "Force chunk erase check"
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
131 depends on YAFFS_FS
142
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
132 default n
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
133 help
142
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
134 Normally YAFFS only checks chunks before writing until an erased
168
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
135 chunk is found. This helps to detect any partially written
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
136 chunks that might have happened due to power loss.
142
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
137
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
138 Enabling this forces on the test that chunks are erased in flash
168
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
139 before writing to them. This takes more time but is potentially
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
140 a bit more secure.
142
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
141
168
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
142 Suggest setting Y during development and ironing out driver
b8f20fdc3a58 normalise licence headers and attributions
wookey <wookey>
parents: 165
diff changeset
143 issues etc. Suggest setting to N if you want faster writing.
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
144
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
145 If unsure, say Y.
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
146
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
147 config YAFFS_SHORT_NAMES_IN_RAM
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
148 bool "Cache short names in RAM"
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
149 depends on YAFFS_FS
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
150 default y
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
151 help
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
152 If this config is set, then short names are stored with the
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
153 yaffs_Object. This costs an extra 16 bytes of RAM per object,
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
154 but makes look-ups faster.
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
155
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
156 If unsure, say Y.