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