i2c: Let users select algorithm drivers manually again
authorJean Delvare <khali@linux-fr.org>
Sun, 10 Aug 2008 20:56:15 +0000 (22:56 +0200)
committerJean Delvare <khali@mahadeva.delvare>
Sun, 10 Aug 2008 20:56:15 +0000 (22:56 +0200)
In kernel 2.6.26, the ability to select I2C algorithm drivers manually
was removed, as all in-kernel drivers do that automatically. However
there were some complaints that it was a problem for out-of-tree I2C
bus drivers. In order to address these complaints, let's allow manual
selection of these drivers again, but still hide them by default for
better general user experience.

This closes bug #11140:
http://bugzilla.kernel.org/show_bug.cgi?id=11140

Signed-off-by: Jean Delvare <khali@linux-fr.org>
drivers/i2c/Kconfig
drivers/i2c/algos/Kconfig

index 96867347bcbfffa0639d0df93b08cbbb86c23b68..711ca08ab7762ab19f6516c9a5ba24bedcf54c4e 100644 (file)
@@ -38,6 +38,20 @@ 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.
+
 source drivers/i2c/algos/Kconfig
 source drivers/i2c/busses/Kconfig
 source drivers/i2c/chips/Kconfig
index 7137a17402fe150e3e3189b7355a77495a2c5e8e..b788579b82271defa96e8c3fa20f190b90788a1b 100644 (file)
@@ -2,15 +2,20 @@
 # I2C algorithm drivers configuration
 #
 
+menu "I2C Algorithms"
+       depends on !I2C_HELPER_AUTO
+
 config I2C_ALGOBIT
-       tristate
+       tristate "I2C bit-banging interfaces"
 
 config I2C_ALGOPCF
-       tristate
+       tristate "I2C PCF 8584 interfaces"
 
 config I2C_ALGOPCA
-       tristate
+       tristate "I2C PCA 9564 interfaces"
 
 config I2C_ALGO_SGI
        tristate
        depends on SGI_IP22 || SGI_IP32 || X86_VISWS
+
+endmenu