xref: /openbmc/linux/lib/Kconfig (revision 5e8898e9)
1#
2# Library configuration
3#
4
5config BINARY_PRINTF
6	def_bool n
7
8menu "Library routines"
9
10config RAID6_PQ
11	tristate
12
13config BITREVERSE
14	tristate
15
16config RATIONAL
17	boolean
18
19config GENERIC_FIND_FIRST_BIT
20	bool
21
22config GENERIC_PCI_IOMAP
23	bool
24
25config GENERIC_IOMAP
26	bool
27	select GENERIC_PCI_IOMAP
28
29config CRC_CCITT
30	tristate "CRC-CCITT functions"
31	help
32	  This option is provided for the case where no in-kernel-tree
33	  modules require CRC-CCITT functions, but a module built outside
34	  the kernel tree does. Such modules that use library CRC-CCITT
35	  functions require M here.
36
37config CRC16
38	tristate "CRC16 functions"
39	help
40	  This option is provided for the case where no in-kernel-tree
41	  modules require CRC16 functions, but a module built outside
42	  the kernel tree does. Such modules that use library CRC16
43	  functions require M here.
44
45config CRC_T10DIF
46	tristate "CRC calculation for the T10 Data Integrity Field"
47	help
48	  This option is only needed if a module that's not in the
49	  kernel tree needs to calculate CRC checks for use with the
50	  SCSI data integrity subsystem.
51
52config CRC_ITU_T
53	tristate "CRC ITU-T V.41 functions"
54	help
55	  This option is provided for the case where no in-kernel-tree
56	  modules require CRC ITU-T V.41 functions, but a module built outside
57	  the kernel tree does. Such modules that use library CRC ITU-T V.41
58	  functions require M here.
59
60config CRC32
61	tristate "CRC32 functions"
62	default y
63	select BITREVERSE
64	help
65	  This option is provided for the case where no in-kernel-tree
66	  modules require CRC32 functions, but a module built outside the
67	  kernel tree does. Such modules that use library CRC32 functions
68	  require M here.
69
70config CRC7
71	tristate "CRC7 functions"
72	help
73	  This option is provided for the case where no in-kernel-tree
74	  modules require CRC7 functions, but a module built outside
75	  the kernel tree does. Such modules that use library CRC7
76	  functions require M here.
77
78config LIBCRC32C
79	tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
80	select CRYPTO
81	select CRYPTO_CRC32C
82	help
83	  This option is provided for the case where no in-kernel-tree
84	  modules require CRC32c functions, but a module built outside the
85	  kernel tree does. Such modules that use library CRC32c functions
86	  require M here.  See Castagnoli93.
87	  Module will be libcrc32c.
88
89config CRC8
90	tristate "CRC8 function"
91	help
92	  This option provides CRC8 function. Drivers may select this
93	  when they need to do cyclic redundancy check according CRC8
94	  algorithm. Module will be called crc8.
95
96config AUDIT_GENERIC
97	bool
98	depends on AUDIT && !AUDIT_ARCH
99	default y
100
101#
102# compression support is select'ed if needed
103#
104config ZLIB_INFLATE
105	tristate
106
107config ZLIB_DEFLATE
108	tristate
109
110config LZO_COMPRESS
111	tristate
112
113config LZO_DECOMPRESS
114	tristate
115
116source "lib/xz/Kconfig"
117
118#
119# These all provide a common interface (hence the apparent duplication with
120# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
121#
122config DECOMPRESS_GZIP
123	select ZLIB_INFLATE
124	tristate
125
126config DECOMPRESS_BZIP2
127	tristate
128
129config DECOMPRESS_LZMA
130	tristate
131
132config DECOMPRESS_XZ
133	select XZ_DEC
134	tristate
135
136config DECOMPRESS_LZO
137	select LZO_DECOMPRESS
138	tristate
139
140#
141# Generic allocator support is selected if needed
142#
143config GENERIC_ALLOCATOR
144	boolean
145
146#
147# reed solomon support is select'ed if needed
148#
149config REED_SOLOMON
150	tristate
151
152config REED_SOLOMON_ENC8
153	boolean
154
155config REED_SOLOMON_DEC8
156	boolean
157
158config REED_SOLOMON_ENC16
159	boolean
160
161config REED_SOLOMON_DEC16
162	boolean
163
164#
165# BCH support is selected if needed
166#
167config BCH
168	tristate
169
170config BCH_CONST_PARAMS
171	boolean
172	help
173	  Drivers may select this option to force specific constant
174	  values for parameters 'm' (Galois field order) and 't'
175	  (error correction capability). Those specific values must
176	  be set by declaring default values for symbols BCH_CONST_M
177	  and BCH_CONST_T.
178	  Doing so will enable extra compiler optimizations,
179	  improving encoding and decoding performance up to 2x for
180	  usual (m,t) values (typically such that m*t < 200).
181	  When this option is selected, the BCH library supports
182	  only a single (m,t) configuration. This is mainly useful
183	  for NAND flash board drivers requiring known, fixed BCH
184	  parameters.
185
186config BCH_CONST_M
187	int
188	range 5 15
189	help
190	  Constant value for Galois field order 'm'. If 'k' is the
191	  number of data bits to protect, 'm' should be chosen such
192	  that (k + m*t) <= 2**m - 1.
193	  Drivers should declare a default value for this symbol if
194	  they select option BCH_CONST_PARAMS.
195
196config BCH_CONST_T
197	int
198	help
199	  Constant value for error correction capability in bits 't'.
200	  Drivers should declare a default value for this symbol if
201	  they select option BCH_CONST_PARAMS.
202
203#
204# Textsearch support is select'ed if needed
205#
206config TEXTSEARCH
207	boolean
208
209config TEXTSEARCH_KMP
210	tristate
211
212config TEXTSEARCH_BM
213	tristate
214
215config TEXTSEARCH_FSM
216	tristate
217
218config BTREE
219	boolean
220
221config HAS_IOMEM
222	boolean
223	depends on !NO_IOMEM
224	default y
225
226config HAS_IOPORT
227	boolean
228	depends on HAS_IOMEM && !NO_IOPORT
229	default y
230
231config HAS_DMA
232	boolean
233	depends on !NO_DMA
234	default y
235
236config CHECK_SIGNATURE
237	bool
238
239config CPUMASK_OFFSTACK
240	bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
241	help
242	  Use dynamic allocation for cpumask_var_t, instead of putting
243	  them on the stack.  This is a bit more expensive, but avoids
244	  stack overflow.
245
246config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
247       bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
248       depends on EXPERIMENTAL && BROKEN
249
250config CPU_RMAP
251	bool
252	depends on SMP
253
254config DQL
255	bool
256
257#
258# Netlink attribute parsing support is select'ed if needed
259#
260config NLATTR
261	bool
262
263#
264# Generic 64-bit atomic support is selected if needed
265#
266config GENERIC_ATOMIC64
267       bool
268
269config LRU_CACHE
270	tristate
271
272config AVERAGE
273	bool "Averaging functions"
274	help
275	  This option is provided for the case where no in-kernel-tree
276	  modules require averaging functions, but a module built outside
277	  the kernel tree does. Such modules that use library averaging
278	  functions require Y here.
279
280	  If unsure, say N.
281
282config CORDIC
283	tristate "CORDIC algorithm"
284	help
285	  This option provides an implementation of the CORDIC algorithm;
286	  calculations are in fixed point. Module will be called cordic.
287
288config MPILIB
289	tristate "Multiprecision maths library"
290	help
291	  Multiprecision maths library from GnuPG.
292	  It is used to implement RSA digital signature verification,
293	  which is used by IMA/EVM digital signature extension.
294
295config MPILIB_EXTRA
296	bool "Multiprecision maths library - additional sources"
297	depends on MPILIB
298	help
299	  Multiprecision maths library from GnuPG.
300	  It is used to implement RSA digital signature verification,
301	  which is used by IMA/EVM digital signature extension.
302	  This code in unnecessary for RSA digital signature verification,
303	  and can be compiled if needed.
304
305config SIGNATURE
306	tristate "In-kernel signature checker"
307	depends on KEYS
308	select MPILIB
309	help
310	  Digital signature verification. Currently only RSA is supported.
311	  Implementation is done using GnuPG MPI library
312
313endmenu
314