Merge branch 'davinci-i2c' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman...
[linux-2.6.git] / drivers / i2c / Kconfig
index 74c8518..d06083f 100644 (file)
@@ -2,10 +2,10 @@
 # I2C subsystem configuration
 #
 
-menu "I2C support"
-
-config I2C
+menuconfig I2C
        tristate "I2C support"
+       depends on HAS_IOMEM
+       select RT_MUTEXES
        ---help---
          I2C (pronounce: I-square-C) is a slow serial bus protocol used in
          many micro controller applications and developed by Philips.  SMBus,
@@ -22,14 +22,22 @@ config I2C
          This I2C support can also be built as a module.  If so, the module
          will be called i2c-core.
 
+if I2C
+
 config I2C_BOARDINFO
        boolean
-       depends on I2C
        default y
 
+config I2C_COMPAT
+       boolean "Enable compatibility bits for old user-space"
+       default y
+       help
+         Say Y here if you intend to run lm-sensors 3.1.1 or older, or any
+         other user-space package which expects i2c adapters to be class
+         devices. If you don't know, say Y.
+
 config I2C_CHARDEV
        tristate "I2C device interface"
-       depends on I2C
        help
          Say Y here to use i2c-* device files, usually found in the /dev
          directory on your system.  They make it possible to have user-space
@@ -39,13 +47,35 @@ config I2C_CHARDEV
          This support is also available as a module.  If so, the module 
          will be called i2c-dev.
 
+config I2C_HELPER_AUTO
+       bool "Autoselect pertinent helper modules"
+       default y
+       help
+         Some I2C bus drivers require so-called "I2C algorithm" modules
+         to work. These are basically software-only abstractions of generic
+         I2C interfaces. This option will autoselect them so that you don't
+         have to care.
+
+         Unselect this only if you need to enable additional helper
+         modules, for example for use with external I2C bus drivers.
+
+         In doubt, say Y.
+
+config I2C_SMBUS
+       tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO
+       help
+         Say Y here if you want support for SMBus extensions to the I2C
+         specification. At the moment, the only supported extension is
+         the SMBus alert protocol.
+
+         This support is also available as a module.  If so, the module
+         will be called i2c-smbus.
+
 source drivers/i2c/algos/Kconfig
 source drivers/i2c/busses/Kconfig
-source drivers/i2c/chips/Kconfig
 
 config I2C_DEBUG_CORE
        bool "I2C Core debugging messages"
-       depends on I2C
        help
          Say Y here if you want the I2C core to produce a bunch of debug
          messages to the system log.  Select this if you are having a
@@ -53,7 +83,6 @@ config I2C_DEBUG_CORE
 
 config I2C_DEBUG_ALGO
        bool "I2C Algorithm debugging messages"
-       depends on I2C
        help
          Say Y here if you want the I2C algorithm drivers to produce a bunch
          of debug messages to the system log.  Select this if you are having
@@ -62,21 +91,10 @@ config I2C_DEBUG_ALGO
 
 config I2C_DEBUG_BUS
        bool "I2C Bus debugging messages"
-       depends on I2C
        help
          Say Y here if you want the I2C bus drivers to produce a bunch of
          debug messages to the system log.  Select this if you are having
          a problem with I2C support and want to see more of what is going
          on.
 
-config I2C_DEBUG_CHIP
-       bool "I2C Chip debugging messages"
-       depends on I2C
-       help
-         Say Y here if you want the I2C chip drivers to produce a bunch of
-         debug messages to the system log.  Select this if you are having
-         a problem with I2C support and want to see more of what is going
-         on.
-
-endmenu
-
+endif # I2C