crc32: simplify unit test code
[linux-3.10.git] / lib / Kconfig
1 #
2 # Library configuration
3 #
4
5 config BINARY_PRINTF
6         def_bool n
7
8 menu "Library routines"
9
10 config RAID6_PQ
11         tristate
12
13 config BITREVERSE
14         tristate
15
16 config RATIONAL
17         boolean
18
19 config GENERIC_FIND_FIRST_BIT
20         bool
21
22 config NO_GENERIC_PCI_IOPORT_MAP
23         bool
24
25 config GENERIC_PCI_IOMAP
26         bool
27
28 config GENERIC_IOMAP
29         bool
30         select GENERIC_PCI_IOMAP
31
32 config CRC_CCITT
33         tristate "CRC-CCITT functions"
34         help
35           This option is provided for the case where no in-kernel-tree
36           modules require CRC-CCITT functions, but a module built outside
37           the kernel tree does. Such modules that use library CRC-CCITT
38           functions require M here.
39
40 config CRC16
41         tristate "CRC16 functions"
42         help
43           This option is provided for the case where no in-kernel-tree
44           modules require CRC16 functions, but a module built outside
45           the kernel tree does. Such modules that use library CRC16
46           functions require M here.
47
48 config CRC_T10DIF
49         tristate "CRC calculation for the T10 Data Integrity Field"
50         help
51           This option is only needed if a module that's not in the
52           kernel tree needs to calculate CRC checks for use with the
53           SCSI data integrity subsystem.
54
55 config CRC_ITU_T
56         tristate "CRC ITU-T V.41 functions"
57         help
58           This option is provided for the case where no in-kernel-tree
59           modules require CRC ITU-T V.41 functions, but a module built outside
60           the kernel tree does. Such modules that use library CRC ITU-T V.41
61           functions require M here.
62
63 config CRC32
64         tristate "CRC32 functions"
65         default y
66         select BITREVERSE
67         help
68           This option is provided for the case where no in-kernel-tree
69           modules require CRC32 functions, but a module built outside the
70           kernel tree does. Such modules that use library CRC32 functions
71           require M here.
72
73 config CRC32_SELFTEST
74         bool "CRC32 perform self test on init"
75         default n
76         depends on CRC32
77         help
78           This option enables the CRC32 library functions to perform a
79           self test on initialization. The self test computes crc32_le
80           and crc32_be over byte strings with random alignment and length
81           and computes the total elapsed time and number of bytes processed.
82
83 config CRC7
84         tristate "CRC7 functions"
85         help
86           This option is provided for the case where no in-kernel-tree
87           modules require CRC7 functions, but a module built outside
88           the kernel tree does. Such modules that use library CRC7
89           functions require M here.
90
91 config LIBCRC32C
92         tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
93         select CRYPTO
94         select CRYPTO_CRC32C
95         help
96           This option is provided for the case where no in-kernel-tree
97           modules require CRC32c functions, but a module built outside the
98           kernel tree does. Such modules that use library CRC32c functions
99           require M here.  See Castagnoli93.
100           Module will be libcrc32c.
101
102 config CRC8
103         tristate "CRC8 function"
104         help
105           This option provides CRC8 function. Drivers may select this
106           when they need to do cyclic redundancy check according CRC8
107           algorithm. Module will be called crc8.
108
109 config AUDIT_GENERIC
110         bool
111         depends on AUDIT && !AUDIT_ARCH
112         default y
113
114 #
115 # compression support is select'ed if needed
116 #
117 config ZLIB_INFLATE
118         tristate
119
120 config ZLIB_DEFLATE
121         tristate
122
123 config LZO_COMPRESS
124         tristate
125
126 config LZO_DECOMPRESS
127         tristate
128
129 source "lib/xz/Kconfig"
130
131 #
132 # These all provide a common interface (hence the apparent duplication with
133 # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
134 #
135 config DECOMPRESS_GZIP
136         select ZLIB_INFLATE
137         tristate
138
139 config DECOMPRESS_BZIP2
140         tristate
141
142 config DECOMPRESS_LZMA
143         tristate
144
145 config DECOMPRESS_XZ
146         select XZ_DEC
147         tristate
148
149 config DECOMPRESS_LZO
150         select LZO_DECOMPRESS
151         tristate
152
153 #
154 # Generic allocator support is selected if needed
155 #
156 config GENERIC_ALLOCATOR
157         boolean
158
159 #
160 # reed solomon support is select'ed if needed
161 #
162 config REED_SOLOMON
163         tristate
164         
165 config REED_SOLOMON_ENC8
166         boolean
167
168 config REED_SOLOMON_DEC8
169         boolean
170
171 config REED_SOLOMON_ENC16
172         boolean
173
174 config REED_SOLOMON_DEC16
175         boolean
176
177 #
178 # BCH support is selected if needed
179 #
180 config BCH
181         tristate
182
183 config BCH_CONST_PARAMS
184         boolean
185         help
186           Drivers may select this option to force specific constant
187           values for parameters 'm' (Galois field order) and 't'
188           (error correction capability). Those specific values must
189           be set by declaring default values for symbols BCH_CONST_M
190           and BCH_CONST_T.
191           Doing so will enable extra compiler optimizations,
192           improving encoding and decoding performance up to 2x for
193           usual (m,t) values (typically such that m*t < 200).
194           When this option is selected, the BCH library supports
195           only a single (m,t) configuration. This is mainly useful
196           for NAND flash board drivers requiring known, fixed BCH
197           parameters.
198
199 config BCH_CONST_M
200         int
201         range 5 15
202         help
203           Constant value for Galois field order 'm'. If 'k' is the
204           number of data bits to protect, 'm' should be chosen such
205           that (k + m*t) <= 2**m - 1.
206           Drivers should declare a default value for this symbol if
207           they select option BCH_CONST_PARAMS.
208
209 config BCH_CONST_T
210         int
211         help
212           Constant value for error correction capability in bits 't'.
213           Drivers should declare a default value for this symbol if
214           they select option BCH_CONST_PARAMS.
215
216 #
217 # Textsearch support is select'ed if needed
218 #
219 config TEXTSEARCH
220         boolean
221
222 config TEXTSEARCH_KMP
223         tristate
224
225 config TEXTSEARCH_BM
226         tristate
227
228 config TEXTSEARCH_FSM
229         tristate
230
231 config BTREE
232         boolean
233
234 config HAS_IOMEM
235         boolean
236         depends on !NO_IOMEM
237         default y
238
239 config HAS_IOPORT
240         boolean
241         depends on HAS_IOMEM && !NO_IOPORT
242         default y
243
244 config HAS_DMA
245         boolean
246         depends on !NO_DMA
247         default y
248
249 config CHECK_SIGNATURE
250         bool
251
252 config CPUMASK_OFFSTACK
253         bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
254         help
255           Use dynamic allocation for cpumask_var_t, instead of putting
256           them on the stack.  This is a bit more expensive, but avoids
257           stack overflow.
258
259 config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
260        bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
261        depends on EXPERIMENTAL && BROKEN
262
263 config CPU_RMAP
264         bool
265         depends on SMP
266
267 config DQL
268         bool
269
270 #
271 # Netlink attribute parsing support is select'ed if needed
272 #
273 config NLATTR
274         bool
275
276 #
277 # Generic 64-bit atomic support is selected if needed
278 #
279 config GENERIC_ATOMIC64
280        bool
281
282 config LRU_CACHE
283         tristate
284
285 config AVERAGE
286         bool "Averaging functions"
287         help
288           This option is provided for the case where no in-kernel-tree
289           modules require averaging functions, but a module built outside
290           the kernel tree does. Such modules that use library averaging
291           functions require Y here.
292
293           If unsure, say N.
294
295 config CLZ_TAB
296         bool
297
298 config CORDIC
299         tristate "CORDIC algorithm"
300         help
301           This option provides an implementation of the CORDIC algorithm;
302           calculations are in fixed point. Module will be called cordic.
303
304 config MPILIB
305         tristate
306         select CLZ_TAB
307         help
308           Multiprecision maths library from GnuPG.
309           It is used to implement RSA digital signature verification,
310           which is used by IMA/EVM digital signature extension.
311
312 config MPILIB_EXTRA
313         bool
314         depends on MPILIB
315         help
316           Additional sources of multiprecision maths library from GnuPG.
317           This code is unnecessary for RSA digital signature verification,
318           but can be compiled if needed.
319
320 config SIGNATURE
321         tristate
322         depends on KEYS && CRYPTO
323         select CRYPTO_SHA1
324         select MPILIB
325         help
326           Digital signature verification. Currently only RSA is supported.
327           Implementation is done using GnuPG MPI library
328
329 endmenu