Revert "math64: New div64_u64_rem helper"
[linux-3.10.git] / lib / Kconfig
index 3a55a43..3958dc4 100644 (file)
@@ -16,15 +16,34 @@ config BITREVERSE
 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"
@@ -58,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"
@@ -86,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
@@ -155,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
@@ -175,6 +297,7 @@ config BTREE
 config HAS_IOMEM
        boolean
        depends on !NO_IOMEM
+       select GENERIC_IO
        default y
 
 config HAS_IOPORT
@@ -199,12 +322,15 @@ 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
 #
@@ -217,6 +343,9 @@ config NLATTR
 config GENERIC_ATOMIC64
        bool
 
+config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
+       def_bool y if GENERIC_ATOMIC64
+
 config LRU_CACHE
        tristate
 
@@ -230,4 +359,49 @@ config AVERAGE
 
          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