Revert "math64: New div64_u64_rem helper"
[linux-3.10.git] / lib / Kconfig
index 1cfe516..3958dc4 100644 (file)
@@ -7,21 +7,43 @@ config BINARY_PRINTF
 
 menu "Library routines"
 
+config RAID6_PQ
+       tristate
+
 config BITREVERSE
        tristate
 
 config RATIONAL
        boolean
 
+config GENERIC_STRNCPY_FROM_USER
+       bool
+
+config GENERIC_STRNLEN_USER
+       bool
+
 config GENERIC_FIND_FIRST_BIT
        bool
 
-config GENERIC_FIND_NEXT_BIT
+config NO_GENERIC_PCI_IOPORT_MAP
        bool
 
-config GENERIC_FIND_LAST_BIT
+config GENERIC_PCI_IOMAP
        bool
-       default y
+
+config GENERIC_IOMAP
+       bool
+       select GENERIC_PCI_IOMAP
+
+config GENERIC_IO
+       boolean
+       default n
+
+config STMP_DEVICE
+       bool
+
+config PERCPU_RWSEM
+       boolean
 
 config CRC_CCITT
        tristate "CRC-CCITT functions"
@@ -55,14 +77,71 @@ 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"
@@ -83,6 +162,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
@@ -103,6 +189,8 @@ config LZO_COMPRESS
 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.)
@@ -117,6 +205,14 @@ config DECOMPRESS_BZIP2
 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
 #
@@ -142,6 +238,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
@@ -156,9 +291,13 @@ config TEXTSEARCH_BM
 config TEXTSEARCH_FSM
        tristate
 
+config BTREE
+       boolean
+
 config HAS_IOMEM
        boolean
        depends on !NO_IOMEM
+       select GENERIC_IO
        default y
 
 config HAS_IOPORT
@@ -174,9 +313,6 @@ config HAS_DMA
 config CHECK_SIGNATURE
        bool
 
-config HAVE_LMB
-       boolean
-
 config CPUMASK_OFFSTACK
        bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
        help
@@ -186,7 +322,14 @@ config CPUMASK_OFFSTACK
 
 config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
        bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
-       depends on EXPERIMENTAL && BROKEN
+       depends on BROKEN
+
+config CPU_RMAP
+       bool
+       depends on SMP
+
+config DQL
+       bool
 
 #
 # Netlink attribute parsing support is select'ed if needed
@@ -200,7 +343,65 @@ config NLATTR
 config GENERIC_ATOMIC64
        bool
 
+config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
+       def_bool y if GENERIC_ATOMIC64
+
 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 DDR
+       bool "JEDEC DDR data"
+       help
+         Data from JEDEC specs for DDR SDRAM memories,
+         particularly the AC timing parameters and addressing
+         information. This data is useful for drivers handling
+         DDR SDRAM controllers.
+
+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 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
+
+#
+# libfdt files, only selected if needed.
+#
+config LIBFDT
+       bool
+
+config OID_REGISTRY
+       tristate
+       help
+         Enable fast lookup object identifier registry.
+
 endmenu