Revert "math64: New div64_u64_rem helper"
[linux-3.10.git] / lib / Kconfig
index 3eb29d5..3958dc4 100644 (file)
@@ -2,11 +2,49 @@
 # Library configuration
 #
 
+config BINARY_PRINTF
+       def_bool n
+
 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 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 STMP_DEVICE
+       bool
+
+config PERCPU_RWSEM
+       boolean
+
 config CRC_CCITT
        tristate "CRC-CCITT functions"
        help
@@ -23,6 +61,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 +77,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 +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
@@ -70,6 +189,30 @@ 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.)
+#
+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
 #
@@ -95,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
@@ -109,15 +291,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
@@ -130,4 +310,98 @@ config HAS_DMA
        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 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 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