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