Update for Linux 2.6.19 support
[yaffs2.git] / Kconfig
1 #
2 # YAFFS file system configurations
3 #
4
5 config YAFFS_FS
6         tristate "YAFFS2 file system support"
7         default n
8         depends on MTD
9         select YAFFS_YAFFS1
10         select YAFFS_YAFFS2
11         help
12           YAFFS2, or Yet Another Flash Filing System, is a filing system
13           optimised for NAND Flash chips.
14
15           To compile the YAFFS2 file system support as a module, choose M here:
16           the module will be called yaffs2.
17
18           If unsure, say N.
19
20           Further information on YAFFS2 is available at
21           <http://www.aleph1.co.uk/yaffs/>.
22
23 config YAFFS_YAFFS1
24         bool "512 byte / page devices"
25         depends on YAFFS_FS
26         default y
27         help
28           Enable YAFFS1 support -- yaffs for 512 byte / page devices
29
30           If unsure, say Y.
31
32 config YAFFS_DOES_ECC
33         bool "Lets Yaffs do its own ECC"
34         depends on YAFFS_FS && YAFFS_YAFFS1
35         default n
36         help
37           This enables Yaffs to use its own ECC functions instead of using
38           the ones from the generic MTD-NAND driver.
39
40           If unsure, say N.
41
42 config YAFFS_ECC_WRONG_ORDER
43         bool "Use the same ecc byte order as Steven Hill's nand_ecc.c"
44         depends on YAFFS_FS && YAFFS_DOES_ECC
45         default n
46         help
47           This makes yaffs_ecc.c use the same ecc byte order as
48           Steven Hill's nand_ecc.c. If not set, then you get the
49           same ecc byte order as SmartMedia.
50
51           If unsure, say N.
52
53 config YAFFS_YAFFS2
54         bool "2048 byte (or larger) / page devices"
55         depends on YAFFS_FS
56         default y
57         help
58           Enable YAFFS2 support -- yaffs for >= 2048 byte / page larger devices
59
60           If unsure, say Y.
61
62 config YAFFS_AUTO_YAFFS2
63         bool "Autoselect yaffs2 format"
64         depends on YAFFS_YAFFS2
65         default y
66         help
67           Without this, you need to explicitely use yaffs2 as the file
68           system type. With this, you can say "yaffs" and yaffs or yaffs2
69           will be used depending on the device page size.
70
71           If unsure, say Y.
72
73 config YAFFS_DISABLE_LAZY_LOAD
74         bool "Disable lazy loading"
75         depends on YAFFS_YAFFS2
76         default n
77         help
78           "Lazy loading" defers loading file details until they are
79           required. This saves mount time, but makes the first look-up
80           a bit longer.
81
82           Lazy loading will only happen if enabled by this option being 'n'
83           and if the appropriate tags are available, else yaffs2 will
84           automatically fall back to immediate loading and do the right
85           thing.
86
87           Lazy laoding will be required by checkpointing.
88
89           Setting this to 'y' will disable lazy loading.
90
91           If unsure, say N.
92
93 config YAFFS_CHECKPOINT_RESERVED_BLOCKS
94         int "Reserved blocks for checkpointing"
95         depends on YAFFS_YAFFS2
96         default 10
97         help
98           Give the number of Blocks to reserve for checkpointing. These Blocks
99           are reserved per partition, so if you have very small partitions the
100           default (10) may be a mess for you. 
101           You can set this value to 0, but that does not mean checkpointing is
102           disabled at all. There only won't be any specially reserved blocks for
103           checkpointing, so if there is enough free space on the filesystem,
104           it will be used for checkpointing.
105
106           If unsure, leave at default (10), but don't wonder if there are always
107           2MB used on your large page device partition (10 x 2k pagesize). When
108           using small partitions or when being very small on space, you probably
109           want to set this to zero.
110
111 config YAFFS_DISABLE_WIDE_TNODES
112         bool "Turn off wide tnodes"
113         depends on YAFFS_FS
114         default n
115         help
116           Wide tnodes are only used for large NAND arrays (>=32MB for
117           512-byte page devices and >=128MB for 2k page devices). They use 
118           slightly more RAM but are faster since they eliminate chunk group
119           searching.
120
121           Setting this to 'y' will force tnode width to 16 bits and make
122           large arrays slower.
123
124           If unsure, say N.
125
126 config YAFFS_ALWAYS_CHECK_CHUNK_ERASED
127         bool "Force chunk erase check"
128         depends on YAFFS_FS
129         default n
130         help
131           Normally YAFFS only checks chunks before writing until an erased
132           chunk is found. This helps to detect any partially written chunks
133           that might have happened due to power loss.
134
135           Enabling this forces on the test that chunks are erased in flash
136           before writing to them. This takes more time but is potentially a 
137           bit more secure.
138  
139           Suggest setting Y during development and ironing out driver issues
140           etc. Suggest setting to N if you want faster writing.                  
141
142           If unsure, say Y.
143
144 config YAFFS_SHORT_NAMES_IN_RAM
145         bool "Cache short names in RAM"
146         depends on YAFFS_FS
147         default y
148         help
149           If this config is set, then short names are stored with the
150           yaffs_Object.  This costs an extra 16 bytes of RAM per object,
151           but makes look-ups faster.
152
153           If unsure, say Y.