net/mlx4: Avoid 'may be used uninitialized' warnings
[linux-2.6/btrfs-unstable.git] / lib / Kconfig
blob601965a948e8d40a3deff542882a772ab873e093
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 HAVE_ARCH_BITREVERSE
17         bool
18         default n
19         depends on BITREVERSE
20         help
21           This option enables the use of hardware bit-reversal instructions on
22           architectures which support such operations.
24 config RATIONAL
25         bool
27 config GENERIC_STRNCPY_FROM_USER
28         bool
30 config GENERIC_STRNLEN_USER
31         bool
33 config GENERIC_NET_UTILS
34         bool
36 config GENERIC_FIND_FIRST_BIT
37         bool
39 config NO_GENERIC_PCI_IOPORT_MAP
40         bool
42 config GENERIC_PCI_IOMAP
43         bool
45 config GENERIC_IOMAP
46         bool
47         select GENERIC_PCI_IOMAP
49 config GENERIC_IO
50         bool
51         default n
53 config STMP_DEVICE
54         bool
56 config PERCPU_RWSEM
57         bool
59 config ARCH_USE_CMPXCHG_LOCKREF
60         bool
62 config ARCH_HAS_FAST_MULTIPLIER
63         bool
65 config CRC_CCITT
66         tristate "CRC-CCITT functions"
67         help
68           This option is provided for the case where no in-kernel-tree
69           modules require CRC-CCITT functions, but a module built outside
70           the kernel tree does. Such modules that use library CRC-CCITT
71           functions require M here.
73 config CRC16
74         tristate "CRC16 functions"
75         help
76           This option is provided for the case where no in-kernel-tree
77           modules require CRC16 functions, but a module built outside
78           the kernel tree does. Such modules that use library CRC16
79           functions require M here.
81 config CRC_T10DIF
82         tristate "CRC calculation for the T10 Data Integrity Field"
83         select CRYPTO
84         select CRYPTO_CRCT10DIF
85         help
86           This option is only needed if a module that's not in the
87           kernel tree needs to calculate CRC checks for use with the
88           SCSI data integrity subsystem.
90 config CRC_ITU_T
91         tristate "CRC ITU-T V.41 functions"
92         help
93           This option is provided for the case where no in-kernel-tree
94           modules require CRC ITU-T V.41 functions, but a module built outside
95           the kernel tree does. Such modules that use library CRC ITU-T V.41
96           functions require M here.
98 config CRC32
99         tristate "CRC32/CRC32c functions"
100         default y
101         select BITREVERSE
102         help
103           This option is provided for the case where no in-kernel-tree
104           modules require CRC32/CRC32c functions, but a module built outside
105           the kernel tree does. Such modules that use library CRC32/CRC32c
106           functions require M here.
108 config CRC32_SELFTEST
109         bool "CRC32 perform self test on init"
110         default n
111         depends on CRC32
112         help
113           This option enables the CRC32 library functions to perform a
114           self test on initialization. The self test computes crc32_le
115           and crc32_be over byte strings with random alignment and length
116           and computes the total elapsed time and number of bytes processed.
118 choice
119         prompt "CRC32 implementation"
120         depends on CRC32
121         default CRC32_SLICEBY8
122         help
123           This option allows a kernel builder to override the default choice
124           of CRC32 algorithm.  Choose the default ("slice by 8") unless you
125           know that you need one of the others.
127 config CRC32_SLICEBY8
128         bool "Slice by 8 bytes"
129         help
130           Calculate checksum 8 bytes at a time with a clever slicing algorithm.
131           This is the fastest algorithm, but comes with a 8KiB lookup table.
132           Most modern processors have enough cache to hold this table without
133           thrashing the cache.
135           This is the default implementation choice.  Choose this one unless
136           you have a good reason not to.
138 config CRC32_SLICEBY4
139         bool "Slice by 4 bytes"
140         help
141           Calculate checksum 4 bytes at a time with a clever slicing algorithm.
142           This is a bit slower than slice by 8, but has a smaller 4KiB lookup
143           table.
145           Only choose this option if you know what you are doing.
147 config CRC32_SARWATE
148         bool "Sarwate's Algorithm (one byte at a time)"
149         help
150           Calculate checksum a byte at a time using Sarwate's algorithm.  This
151           is not particularly fast, but has a small 256 byte lookup table.
153           Only choose this option if you know what you are doing.
155 config CRC32_BIT
156         bool "Classic Algorithm (one bit at a time)"
157         help
158           Calculate checksum one bit at a time.  This is VERY slow, but has
159           no lookup table.  This is provided as a debugging option.
161           Only choose this option if you are debugging crc32.
163 endchoice
165 config CRC7
166         tristate "CRC7 functions"
167         help
168           This option is provided for the case where no in-kernel-tree
169           modules require CRC7 functions, but a module built outside
170           the kernel tree does. Such modules that use library CRC7
171           functions require M here.
173 config LIBCRC32C
174         tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
175         select CRYPTO
176         select CRYPTO_CRC32C
177         help
178           This option is provided for the case where no in-kernel-tree
179           modules require CRC32c functions, but a module built outside the
180           kernel tree does. Such modules that use library CRC32c functions
181           require M here.  See Castagnoli93.
182           Module will be libcrc32c.
184 config CRC8
185         tristate "CRC8 function"
186         help
187           This option provides CRC8 function. Drivers may select this
188           when they need to do cyclic redundancy check according CRC8
189           algorithm. Module will be called crc8.
191 config AUDIT_GENERIC
192         bool
193         depends on AUDIT && !AUDIT_ARCH
194         default y
196 config AUDIT_ARCH_COMPAT_GENERIC
197         bool
198         default n
200 config AUDIT_COMPAT_GENERIC
201         bool
202         depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT
203         default y
205 config RANDOM32_SELFTEST
206         bool "PRNG perform self test on init"
207         default n
208         help
209           This option enables the 32 bit PRNG library functions to perform a
210           self test on initialization.
213 # compression support is select'ed if needed
215 config ZLIB_INFLATE
216         tristate
218 config ZLIB_DEFLATE
219         tristate
221 config LZO_COMPRESS
222         tristate
224 config LZO_DECOMPRESS
225         tristate
227 config LZ4_COMPRESS
228         tristate
230 config LZ4HC_COMPRESS
231         tristate
233 config LZ4_DECOMPRESS
234         tristate
236 source "lib/xz/Kconfig"
239 # These all provide a common interface (hence the apparent duplication with
240 # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
242 config DECOMPRESS_GZIP
243         select ZLIB_INFLATE
244         tristate
246 config DECOMPRESS_BZIP2
247         tristate
249 config DECOMPRESS_LZMA
250         tristate
252 config DECOMPRESS_XZ
253         select XZ_DEC
254         tristate
256 config DECOMPRESS_LZO
257         select LZO_DECOMPRESS
258         tristate
260 config DECOMPRESS_LZ4
261         select LZ4_DECOMPRESS
262         tristate
265 # Generic allocator support is selected if needed
267 config GENERIC_ALLOCATOR
268         bool
271 # reed solomon support is select'ed if needed
273 config REED_SOLOMON
274         tristate
275         
276 config REED_SOLOMON_ENC8
277         bool
279 config REED_SOLOMON_DEC8
280         bool
282 config REED_SOLOMON_ENC16
283         bool
285 config REED_SOLOMON_DEC16
286         bool
289 # BCH support is selected if needed
291 config BCH
292         tristate
294 config BCH_CONST_PARAMS
295         bool
296         help
297           Drivers may select this option to force specific constant
298           values for parameters 'm' (Galois field order) and 't'
299           (error correction capability). Those specific values must
300           be set by declaring default values for symbols BCH_CONST_M
301           and BCH_CONST_T.
302           Doing so will enable extra compiler optimizations,
303           improving encoding and decoding performance up to 2x for
304           usual (m,t) values (typically such that m*t < 200).
305           When this option is selected, the BCH library supports
306           only a single (m,t) configuration. This is mainly useful
307           for NAND flash board drivers requiring known, fixed BCH
308           parameters.
310 config BCH_CONST_M
311         int
312         range 5 15
313         help
314           Constant value for Galois field order 'm'. If 'k' is the
315           number of data bits to protect, 'm' should be chosen such
316           that (k + m*t) <= 2**m - 1.
317           Drivers should declare a default value for this symbol if
318           they select option BCH_CONST_PARAMS.
320 config BCH_CONST_T
321         int
322         help
323           Constant value for error correction capability in bits 't'.
324           Drivers should declare a default value for this symbol if
325           they select option BCH_CONST_PARAMS.
328 # Textsearch support is select'ed if needed
330 config TEXTSEARCH
331         bool
333 config TEXTSEARCH_KMP
334         tristate
336 config TEXTSEARCH_BM
337         tristate
339 config TEXTSEARCH_FSM
340         tristate
342 config BTREE
343         bool
345 config INTERVAL_TREE
346         bool
347         help
348           Simple, embeddable, interval-tree. Can find the start of an
349           overlapping range in log(n) time and then iterate over all
350           overlapping nodes. The algorithm is implemented as an
351           augmented rbtree.
353           See:
355                 Documentation/rbtree.txt
357           for more information.
359 config ASSOCIATIVE_ARRAY
360         bool
361         help
362           Generic associative array.  Can be searched and iterated over whilst
363           it is being modified.  It is also reasonably quick to search and
364           modify.  The algorithms are non-recursive, and the trees are highly
365           capacious.
367           See:
369                 Documentation/assoc_array.txt
371           for more information.
373 config HAS_IOMEM
374         bool
375         depends on !NO_IOMEM
376         select GENERIC_IO
377         default y
379 config HAS_IOPORT_MAP
380         bool
381         depends on HAS_IOMEM && !NO_IOPORT_MAP
382         default y
384 config HAS_DMA
385         bool
386         depends on !NO_DMA
387         default y
389 config CHECK_SIGNATURE
390         bool
392 config CPUMASK_OFFSTACK
393         bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
394         help
395           Use dynamic allocation for cpumask_var_t, instead of putting
396           them on the stack.  This is a bit more expensive, but avoids
397           stack overflow.
399 config CPU_RMAP
400         bool
401         depends on SMP
403 config DQL
404         bool
406 config GLOB
407         bool
408 #       This actually supports modular compilation, but the module overhead
409 #       is ridiculous for the amount of code involved.  Until an out-of-tree
410 #       driver asks for it, we'll just link it directly it into the kernel
411 #       when required.  Since we're ignoring out-of-tree users, there's also
412 #       no need bother prompting for a manual decision:
413 #       prompt "glob_match() function"
414         help
415           This option provides a glob_match function for performing
416           simple text pattern matching.  It originated in the ATA code
417           to blacklist particular drive models, but other device drivers
418           may need similar functionality.
420           All drivers in the Linux kernel tree that require this function
421           should automatically select this option.  Say N unless you
422           are compiling an out-of tree driver which tells you that it
423           depends on this.
425 config GLOB_SELFTEST
426         bool "glob self-test on init"
427         default n
428         depends on GLOB
429         help
430           This option enables a simple self-test of the glob_match
431           function on startup.  It is primarily useful for people
432           working on the code to ensure they haven't introduced any
433           regressions.
435           It only adds a little bit of code and slows kernel boot (or
436           module load) by a small amount, so you're welcome to play with
437           it, but you probably don't need it.
440 # Netlink attribute parsing support is select'ed if needed
442 config NLATTR
443         bool
446 # Generic 64-bit atomic support is selected if needed
448 config GENERIC_ATOMIC64
449        bool
451 config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
452         def_bool y if GENERIC_ATOMIC64
454 config LRU_CACHE
455         tristate
457 config AVERAGE
458         bool "Averaging functions"
459         help
460           This option is provided for the case where no in-kernel-tree
461           modules require averaging functions, but a module built outside
462           the kernel tree does. Such modules that use library averaging
463           functions require Y here.
465           If unsure, say N.
467 config CLZ_TAB
468         bool
470 config CORDIC
471         tristate "CORDIC algorithm"
472         help
473           This option provides an implementation of the CORDIC algorithm;
474           calculations are in fixed point. Module will be called cordic.
476 config DDR
477         bool "JEDEC DDR data"
478         help
479           Data from JEDEC specs for DDR SDRAM memories,
480           particularly the AC timing parameters and addressing
481           information. This data is useful for drivers handling
482           DDR SDRAM controllers.
484 config MPILIB
485         tristate
486         select CLZ_TAB
487         help
488           Multiprecision maths library from GnuPG.
489           It is used to implement RSA digital signature verification,
490           which is used by IMA/EVM digital signature extension.
492 config SIGNATURE
493         tristate
494         depends on KEYS
495         select CRYPTO
496         select CRYPTO_SHA1
497         select MPILIB
498         help
499           Digital signature verification. Currently only RSA is supported.
500           Implementation is done using GnuPG MPI library
503 # libfdt files, only selected if needed.
505 config LIBFDT
506         bool
508 config OID_REGISTRY
509         tristate
510         help
511           Enable fast lookup object identifier registry.
513 config UCS2_STRING
514         tristate
516 source "lib/fonts/Kconfig"
519 # sg chaining option
522 config ARCH_HAS_SG_CHAIN
523         def_bool n
525 endmenu