Thermal: Add Hysteresis attributes
[linux-2.6.git] / lib / Kconfig
index 91477b9..4a8aba2 100644 (file)
@@ -2,11 +2,37 @@
 # Library configuration
 #
 
+config BINARY_PRINTF
+       def_bool n
+
 menu "Library routines"
 
+config RAID6_PQ
+       tristate
+
 config BITREVERSE
        tristate
 
+config RATIONAL
+       boolean
+
+config GENERIC_FIND_FIRST_BIT
+       bool
+
+config NO_GENERIC_PCI_IOPORT_MAP
+       bool
+
+config GENERIC_PCI_IOMAP
+       bool
+
+config GENERIC_IOMAP
+       bool
+       select GENERIC_PCI_IOMAP
+
+config GENERIC_IO
+       boolean
+       default n
+
 config CRC_CCITT
        tristate "CRC-CCITT functions"
        help
@@ -23,6 +49,13 @@ config CRC16
          the kernel tree does. Such modules that use library CRC16
          functions require M here.
 
+config CRC_T10DIF
+       tristate "CRC calculation for the T10 Data Integrity Field"
+       help
+         This option is only needed if a module that's not in the
+         kernel tree needs to calculate CRC checks for use with the
+         SCSI data integrity subsystem.
+
 config CRC_ITU_T
        tristate "CRC ITU-T V.41 functions"
        help
@@ -32,17 +65,84 @@ config CRC_ITU_T
          functions require M here.
 
 config CRC32
-       tristate "CRC32 functions"
+       tristate "CRC32/CRC32c functions"
        default y
        select BITREVERSE
        help
          This option is provided for the case where no in-kernel-tree
-         modules require CRC32 functions, but a module built outside the
-         kernel tree does. Such modules that use library CRC32 functions
-         require M here.
+         modules require CRC32/CRC32c functions, but a module built outside
+         the kernel tree does. Such modules that use library CRC32/CRC32c
+         functions require M here.
+
+config CRC32_SELFTEST
+       bool "CRC32 perform self test on init"
+       default n
+       depends on CRC32
+       help
+         This option enables the CRC32 library functions to perform a
+         self test on initialization. The self test computes crc32_le
+         and crc32_be over byte strings with random alignment and length
+         and computes the total elapsed time and number of bytes processed.
+
+choice
+       prompt "CRC32 implementation"
+       depends on CRC32
+       default CRC32_SLICEBY8
+       help
+         This option allows a kernel builder to override the default choice
+         of CRC32 algorithm.  Choose the default ("slice by 8") unless you
+         know that you need one of the others.
+
+config CRC32_SLICEBY8
+       bool "Slice by 8 bytes"
+       help
+         Calculate checksum 8 bytes at a time with a clever slicing algorithm.
+         This is the fastest algorithm, but comes with a 8KiB lookup table.
+         Most modern processors have enough cache to hold this table without
+         thrashing the cache.
+
+         This is the default implementation choice.  Choose this one unless
+         you have a good reason not to.
+
+config CRC32_SLICEBY4
+       bool "Slice by 4 bytes"
+       help
+         Calculate checksum 4 bytes at a time with a clever slicing algorithm.
+         This is a bit slower than slice by 8, but has a smaller 4KiB lookup
+         table.
+
+         Only choose this option if you know what you are doing.
+
+config CRC32_SARWATE
+       bool "Sarwate's Algorithm (one byte at a time)"
+       help
+         Calculate checksum a byte at a time using Sarwate's algorithm.  This
+         is not particularly fast, but has a small 256 byte lookup table.
+
+         Only choose this option if you know what you are doing.
+
+config CRC32_BIT
+       bool "Classic Algorithm (one bit at a time)"
+       help
+         Calculate checksum one bit at a time.  This is VERY slow, but has
+         no lookup table.  This is provided as a debugging option.
+
+         Only choose this option if you are debugging crc32.
+
+endchoice
+
+config CRC7
+       tristate "CRC7 functions"
+       help
+         This option is provided for the case where no in-kernel-tree
+         modules require CRC7 functions, but a module built outside
+         the kernel tree does. Such modules that use library CRC7
+         functions require M here.
 
 config LIBCRC32C
        tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
+       select CRYPTO
+       select CRYPTO_CRC32C
        help
          This option is provided for the case where no in-kernel-tree
          modules require CRC32c functions, but a module built outside the
@@ -50,6 +150,13 @@ config LIBCRC32C
          require M here.  See Castagnoli93.
          Module will be libcrc32c.
 
+config CRC8
+       tristate "CRC8 function"
+       help
+         This option provides CRC8 function. Drivers may select this
+         when they need to do cyclic redundancy check according CRC8
+         algorithm. Module will be called crc8.
+
 config AUDIT_GENERIC
        bool
        depends on AUDIT && !AUDIT_ARCH
@@ -64,6 +171,36 @@ config ZLIB_INFLATE
 config ZLIB_DEFLATE
        tristate
 
+config LZO_COMPRESS
+       tristate
+
+config LZO_DECOMPRESS
+       tristate
+
+source "lib/xz/Kconfig"
+
+#
+# These all provide a common interface (hence the apparent duplication with
+# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
+#
+config DECOMPRESS_GZIP
+       select ZLIB_INFLATE
+       tristate
+
+config DECOMPRESS_BZIP2
+       tristate
+
+config DECOMPRESS_LZMA
+       tristate
+
+config DECOMPRESS_XZ
+       select XZ_DEC
+       tristate
+
+config DECOMPRESS_LZO
+       select LZO_DECOMPRESS
+       tristate
+
 #
 # Generic allocator support is selected if needed
 #
@@ -89,6 +226,45 @@ config REED_SOLOMON_DEC16
        boolean
 
 #
+# BCH support is selected if needed
+#
+config BCH
+       tristate
+
+config BCH_CONST_PARAMS
+       boolean
+       help
+         Drivers may select this option to force specific constant
+         values for parameters 'm' (Galois field order) and 't'
+         (error correction capability). Those specific values must
+         be set by declaring default values for symbols BCH_CONST_M
+         and BCH_CONST_T.
+         Doing so will enable extra compiler optimizations,
+         improving encoding and decoding performance up to 2x for
+         usual (m,t) values (typically such that m*t < 200).
+         When this option is selected, the BCH library supports
+         only a single (m,t) configuration. This is mainly useful
+         for NAND flash board drivers requiring known, fixed BCH
+         parameters.
+
+config BCH_CONST_M
+       int
+       range 5 15
+       help
+         Constant value for Galois field order 'm'. If 'k' is the
+         number of data bits to protect, 'm' should be chosen such
+         that (k + m*t) <= 2**m - 1.
+         Drivers should declare a default value for this symbol if
+         they select option BCH_CONST_PARAMS.
+
+config BCH_CONST_T
+       int
+       help
+         Constant value for error correction capability in bits 't'.
+         Drivers should declare a default value for this symbol if
+         they select option BCH_CONST_PARAMS.
+
+#
 # Textsearch support is select'ed if needed
 #
 config TEXTSEARCH
@@ -103,15 +279,13 @@ config TEXTSEARCH_BM
 config TEXTSEARCH_FSM
        tristate
 
-#
-# plist support is select#ed if needed
-#
-config PLIST
+config BTREE
        boolean
 
 config HAS_IOMEM
        boolean
        depends on !NO_IOMEM
+       select GENERIC_IO
        default y
 
 config HAS_IOPORT
@@ -119,4 +293,89 @@ config HAS_IOPORT
        depends on HAS_IOMEM && !NO_IOPORT
        default y
 
+config HAS_DMA
+       boolean
+       depends on !NO_DMA
+       default y
+
+config CHECK_SIGNATURE
+       bool
+
+config CPUMASK_OFFSTACK
+       bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
+       help
+         Use dynamic allocation for cpumask_var_t, instead of putting
+         them on the stack.  This is a bit more expensive, but avoids
+         stack overflow.
+
+config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
+       bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
+       depends on EXPERIMENTAL && BROKEN
+
+config CPU_RMAP
+       bool
+       depends on SMP
+
+config DQL
+       bool
+
+#
+# Netlink attribute parsing support is select'ed if needed
+#
+config NLATTR
+       bool
+
+#
+# Generic 64-bit atomic support is selected if needed
+#
+config GENERIC_ATOMIC64
+       bool
+
+config LRU_CACHE
+       tristate
+
+config AVERAGE
+       bool "Averaging functions"
+       help
+         This option is provided for the case where no in-kernel-tree
+         modules require averaging functions, but a module built outside
+         the kernel tree does. Such modules that use library averaging
+         functions require Y here.
+
+         If unsure, say N.
+
+config CLZ_TAB
+       bool
+
+config CORDIC
+       tristate "CORDIC algorithm"
+       help
+         This option provides an implementation of the CORDIC algorithm;
+         calculations are in fixed point. Module will be called cordic.
+
+config MPILIB
+       tristate
+       select CLZ_TAB
+       help
+         Multiprecision maths library from GnuPG.
+         It is used to implement RSA digital signature verification,
+         which is used by IMA/EVM digital signature extension.
+
+config MPILIB_EXTRA
+       bool
+       depends on MPILIB
+       help
+         Additional sources of multiprecision maths library from GnuPG.
+         This code is unnecessary for RSA digital signature verification,
+         but can be compiled if needed.
+
+config SIGNATURE
+       tristate
+       depends on KEYS && CRYPTO
+       select CRYPTO_SHA1
+       select MPILIB
+       help
+         Digital signature verification. Currently only RSA is supported.
+         Implementation is done using GnuPG MPI library
+
 endmenu