xref: /openbmc/linux/lib/Kconfig (revision 54525552)
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_FIND_NEXT_BIT
23	bool
24
25config GENERIC_FIND_BIT_LE
26	bool
27
28config GENERIC_FIND_LAST_BIT
29	bool
30	default y
31
32config CRC_CCITT
33	tristate "CRC-CCITT functions"
34	help
35	  This option is provided for the case where no in-kernel-tree
36	  modules require CRC-CCITT functions, but a module built outside
37	  the kernel tree does. Such modules that use library CRC-CCITT
38	  functions require M here.
39
40config CRC16
41	tristate "CRC16 functions"
42	help
43	  This option is provided for the case where no in-kernel-tree
44	  modules require CRC16 functions, but a module built outside
45	  the kernel tree does. Such modules that use library CRC16
46	  functions require M here.
47
48config CRC_T10DIF
49	tristate "CRC calculation for the T10 Data Integrity Field"
50	help
51	  This option is only needed if a module that's not in the
52	  kernel tree needs to calculate CRC checks for use with the
53	  SCSI data integrity subsystem.
54
55config CRC_ITU_T
56	tristate "CRC ITU-T V.41 functions"
57	help
58	  This option is provided for the case where no in-kernel-tree
59	  modules require CRC ITU-T V.41 functions, but a module built outside
60	  the kernel tree does. Such modules that use library CRC ITU-T V.41
61	  functions require M here.
62
63config CRC32
64	tristate "CRC32 functions"
65	default y
66	select BITREVERSE
67	help
68	  This option is provided for the case where no in-kernel-tree
69	  modules require CRC32 functions, but a module built outside the
70	  kernel tree does. Such modules that use library CRC32 functions
71	  require M here.
72
73config CRC7
74	tristate "CRC7 functions"
75	help
76	  This option is provided for the case where no in-kernel-tree
77	  modules require CRC7 functions, but a module built outside
78	  the kernel tree does. Such modules that use library CRC7
79	  functions require M here.
80
81config LIBCRC32C
82	tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
83	select CRYPTO
84	select CRYPTO_CRC32C
85	help
86	  This option is provided for the case where no in-kernel-tree
87	  modules require CRC32c functions, but a module built outside the
88	  kernel tree does. Such modules that use library CRC32c functions
89	  require M here.  See Castagnoli93.
90	  Module will be libcrc32c.
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
275endmenu
276