Hi Michal, On Tue, 5 Oct 2010 00:30:20 +0200, Michal Marek wrote: > (Sorry, I missed the patch in your message before) > > On Mon, Oct 04, 2010 at 06:03:46PM +0200, Jean Delvare wrote: > > On Mon, 4 Oct 2010 15:31:33 +0200, Michal Marek wrote: > > [...] selects I2C_ALGOBIT which has unmet direct dependencies (I2C && !I2C_HELPER_AUTO) > > > [...] > > > > This message is obscure. The actual problem is that I2C_ALGOBIT is > > selected but doesn't exist, isn't it?. > > I2C_ALGOBIT does exist, but depends on a false value if I2C_HELPER_AUTO > is set. Yes, in this case it does not matter, there won't be any > unresolved symbols during link, but Kconfig has no way to find out what > are hard dependencies and what are tricks to improve the user > experience. Ah, OK, makes sense, thanks for clarifying. Maybe it would be better to introduce a new Kconfig syntax for these options which are only improving user experience? Something to discuss with Roman Zippel? > > I would prefer the fix below, which seems to work for me (but I am no > > Kconfig expert) and preserves the submenu for algo drivers. Only the > > indentation is missing, would be nice to solve. > > > > --- > > drivers/i2c/Kconfig | 3 ++- > > drivers/i2c/algos/Kconfig | 15 ++++++++++++--- > > 2 files changed, 14 insertions(+), 4 deletions(-) > > > > --- linux-2.6.36-rc6.orig/drivers/i2c/algos/Kconfig 2010-08-02 00:11:14.000000000 +0200 > > +++ linux-2.6.36-rc6/drivers/i2c/algos/Kconfig 2010-10-04 17:33:10.000000000 +0200 > > @@ -2,16 +2,25 @@ > > # I2C algorithm drivers configuration > > # > > > > +config I2C_ALGOBIT > > + tristate > > + > > +config I2C_ALGOPCF > > + tristate > > + > > +config I2C_ALGOPCA > > + tristate > > + > > menu "I2C Algorithms" > > depends on !I2C_HELPER_AUTO > > > > config I2C_ALGOBIT > > - tristate "I2C bit-banging interfaces" > > + prompt "I2C bit-banging interfaces" > > > > config I2C_ALGOPCF > > - tristate "I2C PCF 8584 interfaces" > > + prompt "I2C PCF 8584 interfaces" > > > > config I2C_ALGOPCA > > - tristate "I2C PCA 9564 interfaces" > > + prompt "I2C PCA 9564 interfaces" > > > > endmenu > > Unfortunatelly, this fix does not help. Symbol properties are merged > together, so this just first defines three tristate symbols and later > makes them depend on !I2C_HELPER_AUTO :-(. Hmm, too bad. What about the following then? It's nor exactly elegant, but if it works for you... --- drivers/i2c/Kconfig | 3 ++- drivers/i2c/algos/Kconfig | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) --- linux-2.6.36-rc6.orig/drivers/i2c/algos/Kconfig 2010-10-05 09:01:34.000000000 +0200 +++ linux-2.6.36-rc6/drivers/i2c/algos/Kconfig 2010-10-05 09:40:40.000000000 +0200 @@ -15,3 +15,16 @@ config I2C_ALGOPCA tristate "I2C PCA 9564 interfaces" endmenu + +# In automatic configuration mode, we still have to define the +# symbols to avoid unmet dependencies. + +if I2C_HELPER_AUTO +config I2C_ALGOBIT + tristate +config I2C_ALGOPCF + tristate +config I2C_ALGOPCA + tristate +endif + --- linux-2.6.36-rc6.orig/drivers/i2c/Kconfig 2010-10-05 09:01:34.000000000 +0200 +++ linux-2.6.36-rc6/drivers/i2c/Kconfig 2010-10-05 09:04:57.000000000 +0200 @@ -75,7 +75,8 @@ config I2C_HELPER_AUTO In doubt, say Y. config I2C_SMBUS - tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO + tristate + prompt "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 -- Jean Delvare -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html