Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto
[linux-drm-fsl-dcu.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_STRNCPY_FROM_USER
20         bool
21
22 config GENERIC_STRNLEN_USER
23         bool
24
25 config GENERIC_FIND_FIRST_BIT
26         bool
27
28 config NO_GENERIC_PCI_IOPORT_MAP
29         bool
30
31 config GENERIC_PCI_IOMAP
32         bool
33
34 config GENERIC_IOMAP
35         bool
36         select GENERIC_PCI_IOMAP
37
38 config GENERIC_IO
39         boolean
40         default n
41
42 config STMP_DEVICE
43         bool
44
45 config PERCPU_RWSEM
46         boolean
47
48 config CRC_CCITT
49         tristate "CRC-CCITT functions"
50         help
51           This option is provided for the case where no in-kernel-tree
52           modules require CRC-CCITT functions, but a module built outside
53           the kernel tree does. Such modules that use library CRC-CCITT
54           functions require M here.
55
56 config CRC16
57         tristate "CRC16 functions"
58         help
59           This option is provided for the case where no in-kernel-tree
60           modules require CRC16 functions, but a module built outside
61           the kernel tree does. Such modules that use library CRC16
62           functions require M here.
63
64 config CRC_T10DIF
65         tristate "CRC calculation for the T10 Data Integrity Field"
66         select CRYPTO
67         select CRYPTO_CRCT10DIF
68         help
69           This option is only needed if a module that's not in the
70           kernel tree needs to calculate CRC checks for use with the
71           SCSI data integrity subsystem.
72
73 config CRC_ITU_T
74         tristate "CRC ITU-T V.41 functions"
75         help
76           This option is provided for the case where no in-kernel-tree
77           modules require CRC ITU-T V.41 functions, but a module built outside
78           the kernel tree does. Such modules that use library CRC ITU-T V.41
79           functions require M here.
80
81 config CRC32
82         tristate "CRC32/CRC32c functions"
83         default y
84         select BITREVERSE
85         help
86           This option is provided for the case where no in-kernel-tree
87           modules require CRC32/CRC32c functions, but a module built outside
88           the kernel tree does. Such modules that use library CRC32/CRC32c
89           functions require M here.
90
91 config CRC32_SELFTEST
92         bool "CRC32 perform self test on init"
93         default n
94         depends on CRC32
95         help
96           This option enables the CRC32 library functions to perform a
97           self test on initialization. The self test computes crc32_le
98           and crc32_be over byte strings with random alignment and length
99           and computes the total elapsed time and number of bytes processed.
100
101 choice
102         prompt "CRC32 implementation"
103         depends on CRC32
104         default CRC32_SLICEBY8
105         help
106           This option allows a kernel builder to override the default choice
107           of CRC32 algorithm.  Choose the default ("slice by 8") unless you
108           know that you need one of the others.
109
110 config CRC32_SLICEBY8
111         bool "Slice by 8 bytes"
112         help
113           Calculate checksum 8 bytes at a time with a clever slicing algorithm.
114           This is the fastest algorithm, but comes with a 8KiB lookup table.
115           Most modern processors have enough cache to hold this table without
116           thrashing the cache.
117
118           This is the default implementation choice.  Choose this one unless
119           you have a good reason not to.
120
121 config CRC32_SLICEBY4
122         bool "Slice by 4 bytes"
123         help
124           Calculate checksum 4 bytes at a time with a clever slicing algorithm.
125           This is a bit slower than slice by 8, but has a smaller 4KiB lookup
126           table.
127
128           Only choose this option if you know what you are doing.
129
130 config CRC32_SARWATE
131         bool "Sarwate's Algorithm (one byte at a time)"
132         help
133           Calculate checksum a byte at a time using Sarwate's algorithm.  This
134           is not particularly fast, but has a small 256 byte lookup table.
135
136           Only choose this option if you know what you are doing.
137
138 config CRC32_BIT
139         bool "Classic Algorithm (one bit at a time)"
140         help
141           Calculate checksum one bit at a time.  This is VERY slow, but has
142           no lookup table.  This is provided as a debugging option.
143
144           Only choose this option if you are debugging crc32.
145
146 endchoice
147
148 config CRC7
149         tristate "CRC7 functions"
150         help
151           This option is provided for the case where no in-kernel-tree
152           modules require CRC7 functions, but a module built outside
153           the kernel tree does. Such modules that use library CRC7
154           functions require M here.
155
156 config LIBCRC32C
157         tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
158         select CRYPTO
159         select CRYPTO_CRC32C
160         help
161           This option is provided for the case where no in-kernel-tree
162           modules require CRC32c functions, but a module built outside the
163           kernel tree does. Such modules that use library CRC32c functions
164           require M here.  See Castagnoli93.
165           Module will be libcrc32c.
166
167 config CRC8
168         tristate "CRC8 function"
169         help
170           This option provides CRC8 function. Drivers may select this
171           when they need to do cyclic redundancy check according CRC8
172           algorithm. Module will be called crc8.
173
174 config AUDIT_GENERIC
175         bool
176         depends on AUDIT && !AUDIT_ARCH
177         default y
178
179 #
180 # compression support is select'ed if needed
181 #
182 config ZLIB_INFLATE
183         tristate
184
185 config ZLIB_DEFLATE
186         tristate
187
188 config LZO_COMPRESS
189         tristate
190
191 config LZO_DECOMPRESS
192         tristate
193
194 source "lib/xz/Kconfig"
195
196 #
197 # These all provide a common interface (hence the apparent duplication with
198 # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
199 #
200 config DECOMPRESS_GZIP
201         select ZLIB_INFLATE
202         tristate
203
204 config DECOMPRESS_BZIP2
205         tristate
206
207 config DECOMPRESS_LZMA
208         tristate
209
210 config DECOMPRESS_XZ
211         select XZ_DEC
212         tristate
213
214 config DECOMPRESS_LZO
215         select LZO_DECOMPRESS
216         tristate
217
218 #
219 # Generic allocator support is selected if needed
220 #
221 config GENERIC_ALLOCATOR
222         boolean
223
224 #
225 # reed solomon support is select'ed if needed
226 #
227 config REED_SOLOMON
228         tristate
229         
230 config REED_SOLOMON_ENC8
231         boolean
232
233 config REED_SOLOMON_DEC8
234         boolean
235
236 config REED_SOLOMON_ENC16
237         boolean
238
239 config REED_SOLOMON_DEC16
240         boolean
241
242 #
243 # BCH support is selected if needed
244 #
245 config BCH
246         tristate
247
248 config BCH_CONST_PARAMS
249         boolean
250         help
251           Drivers may select this option to force specific constant
252           values for parameters 'm' (Galois field order) and 't'
253           (error correction capability). Those specific values must
254           be set by declaring default values for symbols BCH_CONST_M
255           and BCH_CONST_T.
256           Doing so will enable extra compiler optimizations,
257           improving encoding and decoding performance up to 2x for
258           usual (m,t) values (typically such that m*t < 200).
259           When this option is selected, the BCH library supports
260           only a single (m,t) configuration. This is mainly useful
261           for NAND flash board drivers requiring known, fixed BCH
262           parameters.
263
264 config BCH_CONST_M
265         int
266         range 5 15
267         help
268           Constant value for Galois field order 'm'. If 'k' is the
269           number of data bits to protect, 'm' should be chosen such
270           that (k + m*t) <= 2**m - 1.
271           Drivers should declare a default value for this symbol if
272           they select option BCH_CONST_PARAMS.
273
274 config BCH_CONST_T
275         int
276         help
277           Constant value for error correction capability in bits 't'.
278           Drivers should declare a default value for this symbol if
279           they select option BCH_CONST_PARAMS.
280
281 #
282 # Textsearch support is select'ed if needed
283 #
284 config TEXTSEARCH
285         boolean
286
287 config TEXTSEARCH_KMP
288         tristate
289
290 config TEXTSEARCH_BM
291         tristate
292
293 config TEXTSEARCH_FSM
294         tristate
295
296 config BTREE
297         boolean
298
299 config HAS_IOMEM
300         boolean
301         depends on !NO_IOMEM
302         select GENERIC_IO
303         default y
304
305 config HAS_IOPORT
306         boolean
307         depends on HAS_IOMEM && !NO_IOPORT
308         default y
309
310 config HAS_DMA
311         boolean
312         depends on !NO_DMA
313         default y
314
315 config CHECK_SIGNATURE
316         bool
317
318 config CPUMASK_OFFSTACK
319         bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
320         help
321           Use dynamic allocation for cpumask_var_t, instead of putting
322           them on the stack.  This is a bit more expensive, but avoids
323           stack overflow.
324
325 config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
326        bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
327        depends on BROKEN
328
329 config CPU_RMAP
330         bool
331         depends on SMP
332
333 config DQL
334         bool
335
336 #
337 # Netlink attribute parsing support is select'ed if needed
338 #
339 config NLATTR
340         bool
341
342 #
343 # Generic 64-bit atomic support is selected if needed
344 #
345 config GENERIC_ATOMIC64
346        bool
347
348 config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
349         def_bool y if GENERIC_ATOMIC64
350
351 config LRU_CACHE
352         tristate
353
354 config AVERAGE
355         bool "Averaging functions"
356         help
357           This option is provided for the case where no in-kernel-tree
358           modules require averaging functions, but a module built outside
359           the kernel tree does. Such modules that use library averaging
360           functions require Y here.
361
362           If unsure, say N.
363
364 config CLZ_TAB
365         bool
366
367 config CORDIC
368         tristate "CORDIC algorithm"
369         help
370           This option provides an implementation of the CORDIC algorithm;
371           calculations are in fixed point. Module will be called cordic.
372
373 config DDR
374         bool "JEDEC DDR data"
375         help
376           Data from JEDEC specs for DDR SDRAM memories,
377           particularly the AC timing parameters and addressing
378           information. This data is useful for drivers handling
379           DDR SDRAM controllers.
380
381 config MPILIB
382         tristate
383         select CLZ_TAB
384         help
385           Multiprecision maths library from GnuPG.
386           It is used to implement RSA digital signature verification,
387           which is used by IMA/EVM digital signature extension.
388
389 config SIGNATURE
390         tristate
391         depends on KEYS && CRYPTO
392         select CRYPTO_SHA1
393         select MPILIB
394         help
395           Digital signature verification. Currently only RSA is supported.
396           Implementation is done using GnuPG MPI library
397
398 #
399 # libfdt files, only selected if needed.
400 #
401 config LIBFDT
402         bool
403
404 config OID_REGISTRY
405         tristate
406         help
407           Enable fast lookup object identifier registry.
408
409 config UCS2_STRING
410         tristate
411
412 endmenu