net: dsa: Add support for learning FDB through notification
[linux-2.6/btrfs-unstable.git] / lib / Kconfig
blob6762529ad9e4597f473a07e9300bd0ac8a601c10
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 ARCH_USE_CMPXCHG_LOCKREF
57         bool
59 config ARCH_HAS_FAST_MULTIPLIER
60         bool
62 config CRC_CCITT
63         tristate "CRC-CCITT functions"
64         help
65           This option is provided for the case where no in-kernel-tree
66           modules require CRC-CCITT functions, but a module built outside
67           the kernel tree does. Such modules that use library CRC-CCITT
68           functions require M here.
70 config CRC16
71         tristate "CRC16 functions"
72         help
73           This option is provided for the case where no in-kernel-tree
74           modules require CRC16 functions, but a module built outside
75           the kernel tree does. Such modules that use library CRC16
76           functions require M here.
78 config CRC_T10DIF
79         tristate "CRC calculation for the T10 Data Integrity Field"
80         select CRYPTO
81         select CRYPTO_CRCT10DIF
82         help
83           This option is only needed if a module that's not in the
84           kernel tree needs to calculate CRC checks for use with the
85           SCSI data integrity subsystem.
87 config CRC_ITU_T
88         tristate "CRC ITU-T V.41 functions"
89         help
90           This option is provided for the case where no in-kernel-tree
91           modules require CRC ITU-T V.41 functions, but a module built outside
92           the kernel tree does. Such modules that use library CRC ITU-T V.41
93           functions require M here.
95 config CRC32
96         tristate "CRC32/CRC32c functions"
97         default y
98         select BITREVERSE
99         help
100           This option is provided for the case where no in-kernel-tree
101           modules require CRC32/CRC32c functions, but a module built outside
102           the kernel tree does. Such modules that use library CRC32/CRC32c
103           functions require M here.
105 config CRC32_SELFTEST
106         tristate "CRC32 perform self test on init"
107         depends on CRC32
108         help
109           This option enables the CRC32 library functions to perform a
110           self test on initialization. The self test computes crc32_le
111           and crc32_be over byte strings with random alignment and length
112           and computes the total elapsed time and number of bytes processed.
114 choice
115         prompt "CRC32 implementation"
116         depends on CRC32
117         default CRC32_SLICEBY8
118         help
119           This option allows a kernel builder to override the default choice
120           of CRC32 algorithm.  Choose the default ("slice by 8") unless you
121           know that you need one of the others.
123 config CRC32_SLICEBY8
124         bool "Slice by 8 bytes"
125         help
126           Calculate checksum 8 bytes at a time with a clever slicing algorithm.
127           This is the fastest algorithm, but comes with a 8KiB lookup table.
128           Most modern processors have enough cache to hold this table without
129           thrashing the cache.
131           This is the default implementation choice.  Choose this one unless
132           you have a good reason not to.
134 config CRC32_SLICEBY4
135         bool "Slice by 4 bytes"
136         help
137           Calculate checksum 4 bytes at a time with a clever slicing algorithm.
138           This is a bit slower than slice by 8, but has a smaller 4KiB lookup
139           table.
141           Only choose this option if you know what you are doing.
143 config CRC32_SARWATE
144         bool "Sarwate's Algorithm (one byte at a time)"
145         help
146           Calculate checksum a byte at a time using Sarwate's algorithm.  This
147           is not particularly fast, but has a small 256 byte lookup table.
149           Only choose this option if you know what you are doing.
151 config CRC32_BIT
152         bool "Classic Algorithm (one bit at a time)"
153         help
154           Calculate checksum one bit at a time.  This is VERY slow, but has
155           no lookup table.  This is provided as a debugging option.
157           Only choose this option if you are debugging crc32.
159 endchoice
161 config CRC4
162         tristate "CRC4 functions"
163         help
164           This option is provided for the case where no in-kernel-tree
165           modules require CRC4 functions, but a module built outside
166           the kernel tree does. Such modules that use library CRC4
167           functions require M here.
169 config CRC7
170         tristate "CRC7 functions"
171         help
172           This option is provided for the case where no in-kernel-tree
173           modules require CRC7 functions, but a module built outside
174           the kernel tree does. Such modules that use library CRC7
175           functions require M here.
177 config LIBCRC32C
178         tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
179         select CRYPTO
180         select CRYPTO_CRC32C
181         help
182           This option is provided for the case where no in-kernel-tree
183           modules require CRC32c functions, but a module built outside the
184           kernel tree does. Such modules that use library CRC32c functions
185           require M here.  See Castagnoli93.
186           Module will be libcrc32c.
188 config CRC8
189         tristate "CRC8 function"
190         help
191           This option provides CRC8 function. Drivers may select this
192           when they need to do cyclic redundancy check according CRC8
193           algorithm. Module will be called crc8.
195 config AUDIT_GENERIC
196         bool
197         depends on AUDIT && !AUDIT_ARCH
198         default y
200 config AUDIT_ARCH_COMPAT_GENERIC
201         bool
202         default n
204 config AUDIT_COMPAT_GENERIC
205         bool
206         depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT
207         default y
209 config RANDOM32_SELFTEST
210         bool "PRNG perform self test on init"
211         default n
212         help
213           This option enables the 32 bit PRNG library functions to perform a
214           self test on initialization.
217 # compression support is select'ed if needed
219 config 842_COMPRESS
220         select CRC32
221         tristate
223 config 842_DECOMPRESS
224         select CRC32
225         tristate
227 config ZLIB_INFLATE
228         tristate
230 config ZLIB_DEFLATE
231         tristate
232         select BITREVERSE
234 config LZO_COMPRESS
235         tristate
237 config LZO_DECOMPRESS
238         tristate
240 config LZ4_COMPRESS
241         tristate
243 config LZ4HC_COMPRESS
244         tristate
246 config LZ4_DECOMPRESS
247         tristate
249 source "lib/xz/Kconfig"
252 # These all provide a common interface (hence the apparent duplication with
253 # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
255 config DECOMPRESS_GZIP
256         select ZLIB_INFLATE
257         tristate
259 config DECOMPRESS_BZIP2
260         tristate
262 config DECOMPRESS_LZMA
263         tristate
265 config DECOMPRESS_XZ
266         select XZ_DEC
267         tristate
269 config DECOMPRESS_LZO
270         select LZO_DECOMPRESS
271         tristate
273 config DECOMPRESS_LZ4
274         select LZ4_DECOMPRESS
275         tristate
278 # Generic allocator support is selected if needed
280 config GENERIC_ALLOCATOR
281         bool
284 # reed solomon support is select'ed if needed
286 config REED_SOLOMON
287         tristate
288         
289 config REED_SOLOMON_ENC8
290         bool
292 config REED_SOLOMON_DEC8
293         bool
295 config REED_SOLOMON_ENC16
296         bool
298 config REED_SOLOMON_DEC16
299         bool
302 # BCH support is selected if needed
304 config BCH
305         tristate
307 config BCH_CONST_PARAMS
308         bool
309         help
310           Drivers may select this option to force specific constant
311           values for parameters 'm' (Galois field order) and 't'
312           (error correction capability). Those specific values must
313           be set by declaring default values for symbols BCH_CONST_M
314           and BCH_CONST_T.
315           Doing so will enable extra compiler optimizations,
316           improving encoding and decoding performance up to 2x for
317           usual (m,t) values (typically such that m*t < 200).
318           When this option is selected, the BCH library supports
319           only a single (m,t) configuration. This is mainly useful
320           for NAND flash board drivers requiring known, fixed BCH
321           parameters.
323 config BCH_CONST_M
324         int
325         range 5 15
326         help
327           Constant value for Galois field order 'm'. If 'k' is the
328           number of data bits to protect, 'm' should be chosen such
329           that (k + m*t) <= 2**m - 1.
330           Drivers should declare a default value for this symbol if
331           they select option BCH_CONST_PARAMS.
333 config BCH_CONST_T
334         int
335         help
336           Constant value for error correction capability in bits 't'.
337           Drivers should declare a default value for this symbol if
338           they select option BCH_CONST_PARAMS.
341 # Textsearch support is select'ed if needed
343 config TEXTSEARCH
344         bool
346 config TEXTSEARCH_KMP
347         tristate
349 config TEXTSEARCH_BM
350         tristate
352 config TEXTSEARCH_FSM
353         tristate
355 config BTREE
356         bool
358 config INTERVAL_TREE
359         bool
360         help
361           Simple, embeddable, interval-tree. Can find the start of an
362           overlapping range in log(n) time and then iterate over all
363           overlapping nodes. The algorithm is implemented as an
364           augmented rbtree.
366           See:
368                 Documentation/rbtree.txt
370           for more information.
372 config RADIX_TREE_MULTIORDER
373         bool
375 config ASSOCIATIVE_ARRAY
376         bool
377         help
378           Generic associative array.  Can be searched and iterated over whilst
379           it is being modified.  It is also reasonably quick to search and
380           modify.  The algorithms are non-recursive, and the trees are highly
381           capacious.
383           See:
385                 Documentation/assoc_array.txt
387           for more information.
389 config HAS_IOMEM
390         bool
391         depends on !NO_IOMEM
392         select GENERIC_IO
393         default y
395 config HAS_IOPORT_MAP
396         bool
397         depends on HAS_IOMEM && !NO_IOPORT_MAP
398         default y
400 config HAS_DMA
401         bool
402         depends on !NO_DMA
403         default y
405 config DMA_NOOP_OPS
406         bool
407         depends on HAS_DMA && (!64BIT || ARCH_DMA_ADDR_T_64BIT)
408         default n
410 config DMA_VIRT_OPS
411         bool
412         depends on HAS_DMA && (!64BIT || ARCH_DMA_ADDR_T_64BIT)
413         default n
415 config CHECK_SIGNATURE
416         bool
418 config CPUMASK_OFFSTACK
419         bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
420         help
421           Use dynamic allocation for cpumask_var_t, instead of putting
422           them on the stack.  This is a bit more expensive, but avoids
423           stack overflow.
425 config CPU_RMAP
426         bool
427         depends on SMP
429 config DQL
430         bool
432 config GLOB
433         bool
434 #       This actually supports modular compilation, but the module overhead
435 #       is ridiculous for the amount of code involved.  Until an out-of-tree
436 #       driver asks for it, we'll just link it directly it into the kernel
437 #       when required.  Since we're ignoring out-of-tree users, there's also
438 #       no need bother prompting for a manual decision:
439 #       prompt "glob_match() function"
440         help
441           This option provides a glob_match function for performing
442           simple text pattern matching.  It originated in the ATA code
443           to blacklist particular drive models, but other device drivers
444           may need similar functionality.
446           All drivers in the Linux kernel tree that require this function
447           should automatically select this option.  Say N unless you
448           are compiling an out-of tree driver which tells you that it
449           depends on this.
451 config GLOB_SELFTEST
452         tristate "glob self-test on init"
453         depends on GLOB
454         help
455           This option enables a simple self-test of the glob_match
456           function on startup.  It is primarily useful for people
457           working on the code to ensure they haven't introduced any
458           regressions.
460           It only adds a little bit of code and slows kernel boot (or
461           module load) by a small amount, so you're welcome to play with
462           it, but you probably don't need it.
465 # Netlink attribute parsing support is select'ed if needed
467 config NLATTR
468         bool
471 # Generic 64-bit atomic support is selected if needed
473 config GENERIC_ATOMIC64
474        bool
476 config LRU_CACHE
477         tristate
479 config CLZ_TAB
480         bool
482 config CORDIC
483         tristate "CORDIC algorithm"
484         help
485           This option provides an implementation of the CORDIC algorithm;
486           calculations are in fixed point. Module will be called cordic.
488 config DDR
489         bool "JEDEC DDR data"
490         help
491           Data from JEDEC specs for DDR SDRAM memories,
492           particularly the AC timing parameters and addressing
493           information. This data is useful for drivers handling
494           DDR SDRAM controllers.
496 config IRQ_POLL
497         bool "IRQ polling library"
498         help
499           Helper library to poll interrupt mitigation using polling.
501 config MPILIB
502         tristate
503         select CLZ_TAB
504         help
505           Multiprecision maths library from GnuPG.
506           It is used to implement RSA digital signature verification,
507           which is used by IMA/EVM digital signature extension.
509 config SIGNATURE
510         tristate
511         depends on KEYS
512         select CRYPTO
513         select CRYPTO_SHA1
514         select MPILIB
515         help
516           Digital signature verification. Currently only RSA is supported.
517           Implementation is done using GnuPG MPI library
520 # libfdt files, only selected if needed.
522 config LIBFDT
523         bool
525 config OID_REGISTRY
526         tristate
527         help
528           Enable fast lookup object identifier registry.
530 config UCS2_STRING
531         tristate
533 source "lib/fonts/Kconfig"
535 config SG_SPLIT
536         def_bool n
537         help
538          Provides a helper to split scatterlists into chunks, each chunk being
539          a scatterlist. This should be selected by a driver or an API which
540          whishes to split a scatterlist amongst multiple DMA channels.
542 config SG_POOL
543         def_bool n
544         help
545          Provides a helper to allocate chained scatterlists. This should be
546          selected by a driver or an API which whishes to allocate chained
547          scatterlist.
550 # sg chaining option
553 config ARCH_HAS_SG_CHAIN
554         def_bool n
556 config ARCH_HAS_PMEM_API
557         bool
559 config ARCH_HAS_UACCESS_FLUSHCACHE
560         bool
562 config ARCH_HAS_MMIO_FLUSH
563         bool
565 config STACKDEPOT
566         bool
567         select STACKTRACE
569 config SBITMAP
570         bool
572 config PARMAN
573         tristate "parman" if COMPILE_TEST
575 config PRIME_NUMBERS
576         tristate
578 endmenu