lib: add shared BCH ECC library
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / lib / Kconfig
blobb9fef78ed04f8a8ddc585deff8649d38c1a2c9c6
2 # Library configuration
5 config BINARY_PRINTF
6         def_bool n
8 menu "Library routines"
10 config RAID6_PQ
11         tristate
13 config BITREVERSE
14         tristate
16 config RATIONAL
17         boolean
19 config GENERIC_FIND_FIRST_BIT
20         bool
22 config GENERIC_FIND_NEXT_BIT
23         bool
25 config GENERIC_FIND_LAST_BIT
26         bool
27         default y
29 config CRC_CCITT
30         tristate "CRC-CCITT functions"
31         help
32           This option is provided for the case where no in-kernel-tree
33           modules require CRC-CCITT functions, but a module built outside
34           the kernel tree does. Such modules that use library CRC-CCITT
35           functions require M here.
37 config CRC16
38         tristate "CRC16 functions"
39         help
40           This option is provided for the case where no in-kernel-tree
41           modules require CRC16 functions, but a module built outside
42           the kernel tree does. Such modules that use library CRC16
43           functions require M here.
45 config CRC_T10DIF
46         tristate "CRC calculation for the T10 Data Integrity Field"
47         help
48           This option is only needed if a module that's not in the
49           kernel tree needs to calculate CRC checks for use with the
50           SCSI data integrity subsystem.
52 config CRC_ITU_T
53         tristate "CRC ITU-T V.41 functions"
54         help
55           This option is provided for the case where no in-kernel-tree
56           modules require CRC ITU-T V.41 functions, but a module built outside
57           the kernel tree does. Such modules that use library CRC ITU-T V.41
58           functions require M here.
60 config CRC32
61         tristate "CRC32 functions"
62         default y
63         select BITREVERSE
64         help
65           This option is provided for the case where no in-kernel-tree
66           modules require CRC32 functions, but a module built outside the
67           kernel tree does. Such modules that use library CRC32 functions
68           require M here.
70 config CRC7
71         tristate "CRC7 functions"
72         help
73           This option is provided for the case where no in-kernel-tree
74           modules require CRC7 functions, but a module built outside
75           the kernel tree does. Such modules that use library CRC7
76           functions require M here.
78 config LIBCRC32C
79         tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
80         select CRYPTO
81         select CRYPTO_CRC32C
82         help
83           This option is provided for the case where no in-kernel-tree
84           modules require CRC32c functions, but a module built outside the
85           kernel tree does. Such modules that use library CRC32c functions
86           require M here.  See Castagnoli93.
87           Module will be libcrc32c.
89 config AUDIT_GENERIC
90         bool
91         depends on AUDIT && !AUDIT_ARCH
92         default y
95 # compression support is select'ed if needed
97 config ZLIB_INFLATE
98         tristate
100 config ZLIB_DEFLATE
101         tristate
103 config LZO_COMPRESS
104         tristate
106 config LZO_DECOMPRESS
107         tristate
109 source "lib/xz/Kconfig"
112 # These all provide a common interface (hence the apparent duplication with
113 # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
115 config DECOMPRESS_GZIP
116         select ZLIB_INFLATE
117         tristate
119 config DECOMPRESS_BZIP2
120         tristate
122 config DECOMPRESS_LZMA
123         tristate
125 config DECOMPRESS_XZ
126         select XZ_DEC
127         tristate
129 config DECOMPRESS_LZO
130         select LZO_DECOMPRESS
131         tristate
134 # Generic allocator support is selected if needed
136 config GENERIC_ALLOCATOR
137         boolean
140 # reed solomon support is select'ed if needed
142 config REED_SOLOMON
143         tristate
144         
145 config REED_SOLOMON_ENC8
146         boolean
148 config REED_SOLOMON_DEC8
149         boolean
151 config REED_SOLOMON_ENC16
152         boolean
154 config REED_SOLOMON_DEC16
155         boolean
158 # BCH support is selected if needed
160 config BCH
161         tristate
163 config BCH_CONST_PARAMS
164         boolean
165         help
166           Drivers may select this option to force specific constant
167           values for parameters 'm' (Galois field order) and 't'
168           (error correction capability). Those specific values must
169           be set by declaring default values for symbols BCH_CONST_M
170           and BCH_CONST_T.
171           Doing so will enable extra compiler optimizations,
172           improving encoding and decoding performance up to 2x for
173           usual (m,t) values (typically such that m*t < 200).
174           When this option is selected, the BCH library supports
175           only a single (m,t) configuration. This is mainly useful
176           for NAND flash board drivers requiring known, fixed BCH
177           parameters.
179 config BCH_CONST_M
180         int
181         range 5 15
182         help
183           Constant value for Galois field order 'm'. If 'k' is the
184           number of data bits to protect, 'm' should be chosen such
185           that (k + m*t) <= 2**m - 1.
186           Drivers should declare a default value for this symbol if
187           they select option BCH_CONST_PARAMS.
189 config BCH_CONST_T
190         int
191         help
192           Constant value for error correction capability in bits 't'.
193           Drivers should declare a default value for this symbol if
194           they select option BCH_CONST_PARAMS.
197 # Textsearch support is select'ed if needed
199 config TEXTSEARCH
200         boolean
202 config TEXTSEARCH_KMP
203         tristate
205 config TEXTSEARCH_BM
206         tristate
208 config TEXTSEARCH_FSM
209         tristate
211 config BTREE
212         boolean
214 config HAS_IOMEM
215         boolean
216         depends on !NO_IOMEM
217         default y
219 config HAS_IOPORT
220         boolean
221         depends on HAS_IOMEM && !NO_IOPORT
222         default y
224 config HAS_DMA
225         boolean
226         depends on !NO_DMA
227         default y
229 config CHECK_SIGNATURE
230         bool
232 config CPUMASK_OFFSTACK
233         bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
234         help
235           Use dynamic allocation for cpumask_var_t, instead of putting
236           them on the stack.  This is a bit more expensive, but avoids
237           stack overflow.
239 config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
240        bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
241        depends on EXPERIMENTAL && BROKEN
244 # Netlink attribute parsing support is select'ed if needed
246 config NLATTR
247         bool
250 # Generic 64-bit atomic support is selected if needed
252 config GENERIC_ATOMIC64
253        bool
255 config LRU_CACHE
256         tristate
258 config AVERAGE
259         bool
261 endmenu