Em 04-11-2010 14:32, Arnaud Lacombe escreveu: > Hi, > > On Thu, Nov 4, 2010 at 2:11 PM, Mauro Carvalho Chehab > <mchehab@xxxxxxxxxx> wrote: >> [...] >> Yes, but this makes things worse: it will allow compiling drivers that Kernel >> will never use, as they won't work without an I2C adapter, and the I2C adapter >> is not compiled. >> >> Worse than that: if you go into all V4L bridge drivers, that implements the I2C >> adapters and disable them, the I2C ancillary adapters will still be compiled >> (as they won't return to 'n'), but they will never ever be used... >> >> So, no, this is not a solution. >> >> What we need is to prompt the menu only if the user wants to do some manual configuration. >> Otherwise, just use the selects done by the drivers that implement the I2C bus adapters, >> and have some code to use those selected I2C devices. >> > These is an easy solution: doing as > `Documentation/kbuild/kconfig-language.txt' say it should be done: > > config MODULES > bool "modules ?" > default y > > config AUTO > bool "AUTO" > > config IVTV > tristate "IVTV" > select WM42 if AUTO > > menu "TV" > depends on !AUTO > > config WM42_USER > tristate "WM42" > select WM42 > > endmenu > > config WM42 > tristate > default n > > - Arnaud This may work, but it means that every single I2C/frontend/tuner will require two entries for each driver. This means to create and manage around 100+ new symbols. The drivers/media Kconfig files are complex enough as-is, without adding those 100+ new artificial symbols. We should work to make things simple and improve users experience, and not to create artificial complexity that will make Kconfig almost unreadable. I still think that the easiest way to solve this is to add some logic that will hide the menu if a condition doesn't happen. Something like: menu FOO prompt if BAR or menu FOO show if BAR Mauro. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html