Re: Problem with restricted I2C algorithms in kernel 2.6.26!

From: Jean Delvare
Date: Thu Aug 07 2008 - 13:20:17 EST


On Thu, 7 Aug 2008 18:14:16 +0200, Jean Delvare wrote:
> Hi Trent,
>
> On Thu, 7 Aug 2008 09:01:35 -0700 (PDT), Trent Piepho wrote:
> > Maybe an option to turn i2c algorithms on could do into the Library
> > Routines menu. There are already options for things like the crc routines
> > here so they can be turned on if an out of tree driver needs them but
> > nothing in the kernel does.
>
> Having I2C-specific options selectable under the Library menu would
> probably be even more confusing. However, it would be possible to do
> something similar under the I2C menu. Much like
> CONFIG_VIDEO_HELPER_CHIPS_AUTO does for the V4L subsystem:
> CONFIG_I2C_ALGOS_AUTO would default to Y and would hide I2C algo driver
> selection (as is the case in 2.6.26), changing it to N would present
> the old menu for users to select the aldo drivers manually (as was the
> case in 2.6.25.)

Something like this...

Subject: i2c: Let users select algorithm drivers manually again

Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>
---
drivers/i2c/Kconfig | 14 ++++++++++++++
drivers/i2c/algos/Kconfig | 11 ++++++++---
2 files changed, 22 insertions(+), 3 deletions(-)

--- linux-2.6.27-rc2.orig/drivers/i2c/Kconfig 2008-04-17 04:49:44.000000000 +0200
+++ linux-2.6.27-rc2/drivers/i2c/Kconfig 2008-08-07 19:14:37.000000000 +0200
@@ -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
--- linux-2.6.27-rc2.orig/drivers/i2c/algos/Kconfig 2008-07-14 11:14:59.000000000 +0200
+++ linux-2.6.27-rc2/drivers/i2c/algos/Kconfig 2008-08-07 18:50:43.000000000 +0200
@@ -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

Comment anyone?

--
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/