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