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