annotate Kconfig @ 165:c2f9b707a39e

Add Phils checkpoint configuration
author charles <charles>
date Tue, 19 Dec 2006 21:33:41 +0000
parents 34ac1a735230
children b8f20fdc3a58
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
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
15 To compile the YAFFS2 file system support as a module, choose M here:
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
16 the module will be called yaffs2.
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
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
29
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
30 If unsure, say Y.
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
31
61
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
32 config YAFFS_DOES_ECC
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
33 bool "Lets Yaffs do its own ECC"
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
34 depends on YAFFS_FS && YAFFS_YAFFS1
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
35 default n
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
36 help
61
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
37 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
38 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
39
61
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
40 If unsure, say N.
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
41
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
42 config YAFFS_ECC_WRONG_ORDER
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
43 bool "Use the same ecc byte order as Steven Hill's nand_ecc.c"
61
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
44 depends on YAFFS_FS && YAFFS_DOES_ECC
49f66fca0b09 newconfig: use YAFFS_DOES_ECC instead of USE_NANDECC
luc <luc>
parents: 53
diff changeset
45 default n
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
46 help
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
47 This makes yaffs_ecc.c use the same ecc byte order as
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
48 Steven Hill's nand_ecc.c. If not set, then you get the
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
49 same ecc byte order as SmartMedia.
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
51 If unsure, say N.
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
52
62
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
53 config YAFFS_YAFFS2
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
54 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
55 depends on YAFFS_FS
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
56 default y
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
57 help
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
58 Enable YAFFS2 support -- yaffs for >= 2048 byte / page larger devices
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
59
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
60 If unsure, say Y.
6bbd34cee11c Move around the option in Kconfig so that depending stuff are nicely indented.
luc <luc>
parents: 61
diff changeset
61
108
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
62 config YAFFS_AUTO_YAFFS2
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
63 bool "Autoselect yaffs2 format"
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
64 depends on YAFFS_YAFFS2
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
65 default y
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
66 help
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
67 Without this, you need to explicitely use yaffs2 as the file
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
68 system type. With this, you can say "yaffs" and yaffs or yaffs2
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
69 will be used depending on the device page size.
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
70
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
71 If unsure, say Y.
4a8113f1c36b Add yaffs2 autoselection
charles <charles>
parents: 104
diff changeset
72
121
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
73 config YAFFS_DISABLE_LAZY_LOAD
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
74 bool "Disable lazy loading"
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
75 depends on YAFFS_YAFFS2
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
76 default n
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
77 help
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
78 "Lazy loading" defers loading file details until they are
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
79 required. This saves mount time, but makes the first look-up
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
80 a bit longer.
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
81
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
82 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
83 and if the appropriate tags are available, else yaffs2 will
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
84 automatically fall back to immediate loading and do the right
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
85 thing.
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
86
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
87 Lazy laoding will be required by checkpointing.
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
88
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
89 Setting this to 'y' will disable lazy loading.
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
90
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
91 If unsure, say N.
86ee01f6c141 Add lazy loading and mtd depend
charles <charles>
parents: 108
diff changeset
92
165
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
93 config YAFFS_CHECKPOINT_RESERVED_BLOCKS
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
94 int "Reserved blocks for checkpointing"
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
95 depends on YAFFS_YAFFS2
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
96 default 10
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
97 help
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
98 Give the number of Blocks to reserve for checkpointing. These Blocks
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
99 are reserved per partition, so if you have very small partitions the
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
100 default (10) may be a mess for you.
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
101 You can set this value to 0, but that does not mean checkpointing is
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
102 disabled at all. There only won't be any specially reserved blocks for
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
103 checkpointing, so if there is enough free space on the filesystem,
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
104 it will be used for checkpointing.
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
105
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
106 If unsure, leave at default (10), but don't wonder if there are always
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
107 2MB used on your large page device partition (10 x 2k pagesize). When
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
108 using small partitions or when being very small on space, you probably
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
109 want to set this to zero.
c2f9b707a39e Add Phils checkpoint configuration
charles <charles>
parents: 142
diff changeset
110
104
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
111 config YAFFS_DISABLE_WIDE_TNODES
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
112 bool "Turn off wide tnodes"
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
113 depends on YAFFS_FS
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
114 default n
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
115 help
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
116 Wide tnodes are only used for large NAND arrays (>=32MB for
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
117 512-byte page devices and >=128MB for 2k page devices). They use
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
118 slightly more RAM but are faster since they eliminate chunk group
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
119 searching.
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
120
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
121 Setting this to 'y' will force tnode width to 16 bits and make
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
122 large arrays slower.
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
123
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
124 If unsure, say N.
8d952dff2dff Hook wide tnode support into Linux
charles <charles>
parents: 89
diff changeset
125
142
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
126 config YAFFS_ALWAYS_CHECK_CHUNK_ERASED
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
127 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
128 depends on YAFFS_FS
142
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
129 default n
50
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
130 help
142
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
131 Normally YAFFS only checks chunks before writing until an erased
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
132 chunk is found. This helps to detect any partially written chunks
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
133 that might have happened due to power loss.
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
134
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
135 Enabling this forces on the test that chunks are erased in flash
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
136 before writing to them. This takes more time but is potentially a
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
137 bit more secure.
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
138
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
139 Suggest setting Y during development and ironing out driver issues
34ac1a735230 Better retirement and erasure checking.
charles <charles>
parents: 121
diff changeset
140 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
141
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
142 If unsure, say Y.
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
143
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
144 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
145 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
146 depends on YAFFS_FS
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
147 default y
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
148 help
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
149 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
150 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
151 but makes look-ups faster.
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
152
bcf056049698 Added files that support the ability to "patchin" yaffs2 into the 2.6
marty <marty>
parents:
diff changeset
153 If unsure, say Y.