Re: REGRESSION: Re: [GIT] kconfig rc fixes

From: Mauro Carvalho Chehab
Date: Thu Nov 04 2010 - 14:51:43 EST


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-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/