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