Re: Linux 2.6.26-rc1

From: Stefan Richter
Date: Tue May 06 2008 - 16:48:42 EST


Mauro Carvalho Chehab wrote:
For example, if you have a em28xx device with msp3400 and tvp5150 and another
em28xx device with saa7113.

If you remove the select's for MSP3400, TVP5150 and SAA7113, at, em28xx, the
module will compile without problems.

The only issue is that you won't be able to see any images (due to the lack of
tvp5150 or saa7113 analog TV demoduler) or listen to the audio, if the device
needs msp3400 to decode audio.
[...]
It is much better for the user to just select EM28XX and let the Kconfig do the
hard work of selecting what low-level driver applies for em28xx-based devices.

This causes lots of select, being very hard to maintain. The better would be to
have a select-like clause that could check the dependencies automatically.

Another alternative would be some sort of script (checkpatch.pl?) that would
check if all selected dependencies are ok.

Ah, now I understand. You use "select" to enable options which aren't actually a build requirement for the selecting option.

Another example where "select" is used to fill a gap left by limitations regarding what can be presented in the "make ...config" UIs. If you use "select" this way, well, then you have to cope with the implications.


Another workaround for this UI limitation:

config VIDEO_EM28XX
tristate "Empia EM2800/2820/2840 USB video capture support"
depends on WHATEVER_BUILD_REQUIREMENT_IS_LEFT
select MAYBE_ANOTHER_BUILD_REQUIREMENT
help
...

comment "Empia EM28xx devices may require Philips SAA7113/4/5 video decoders"
depends on VIDEO_EM28XX && VIDEO_SAA711X=n

comment "Empia EM28xx devices may require Texas Instruments TVP5150 video decoder"
depends on VIDEO_EM28XX && VIDEO_TVP5150=n

Still awkward, but now you don't have to copy VIDEO_SAA711X's and VIDEO_TVP5150's dependencies to VIDEO_EM28XX anymore.


Or another idea:

Copy _all_ dependencies of drivers which can be selected by "...if VIDEO_HELPER_CHIPS_AUTO" to VIDEO_HELPER_CHIPS_AUTO.

Of course all these issues go away as soon as somebody has implemented "select" with recursive dependency check.
--
Stefan Richter
-=====-==--- -=-= --==-
http://arcgraph.de/sr/
--
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/