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 9686734..711ca08 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 7137a17..b788579 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