On Tue, 06 May 2008 21:44:36 +0200
Stefan Richter <stefanr@s5r6.in-berlin.de> wrote:
This is the way it is designed.
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.
So, you'll just spend kernelspace for a completely useless driver ;)
Ok, let's consider a scenario where there are 3 options, for each of the above.
Now, the user will need to open the USB stick, without breaking anything,
to identify what chips it have inside the internal i2c bus, before compiling the kernel.
Also, since V4L/DVB has more than 230 drivers (most of them are those I2C
helper drivers), the number of items for the user to understand and select will
be huge.
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.
Cheers,
Mauro
--