Selaa lähdekoodia

i2c: Let users select algorithm drivers manually again

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>
Jean Delvare 16 vuotta sitten
vanhempi
commit
8d24f8dcb7
2 muutettua tiedostoa jossa 22 lisäystä ja 3 poistoa
  1. 14 0
      drivers/i2c/Kconfig
  2. 8 3
      drivers/i2c/algos/Kconfig

+ 14 - 0
drivers/i2c/Kconfig

@@ -38,6 +38,20 @@ config I2C_CHARDEV
 	  This support is also available as a module.  If so, the module 
 	  This support is also available as a module.  If so, the module 
 	  will be called i2c-dev.
 	  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/algos/Kconfig
 source drivers/i2c/busses/Kconfig
 source drivers/i2c/busses/Kconfig
 source drivers/i2c/chips/Kconfig
 source drivers/i2c/chips/Kconfig

+ 8 - 3
drivers/i2c/algos/Kconfig

@@ -2,15 +2,20 @@
 # I2C algorithm drivers configuration
 # I2C algorithm drivers configuration
 #
 #
 
 
+menu "I2C Algorithms"
+	depends on !I2C_HELPER_AUTO
+
 config I2C_ALGOBIT
 config I2C_ALGOBIT
-	tristate
+	tristate "I2C bit-banging interfaces"
 
 
 config I2C_ALGOPCF
 config I2C_ALGOPCF
-	tristate
+	tristate "I2C PCF 8584 interfaces"
 
 
 config I2C_ALGOPCA
 config I2C_ALGOPCA
-	tristate
+	tristate "I2C PCA 9564 interfaces"
 
 
 config I2C_ALGO_SGI
 config I2C_ALGO_SGI
 	tristate
 	tristate
 	depends on SGI_IP22 || SGI_IP32 || X86_VISWS
 	depends on SGI_IP22 || SGI_IP32 || X86_VISWS
+
+endmenu