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