Re: Linux 2.6.26-rc1

From: Stefan Richter
Date: Tue May 06 2008 - 10:35:54 EST


Mauro Carvalho Chehab wrote:
> the Kconfig logic for V4L/DVB is complex. It tries to address two
> different issues:
> - an easy board selection for the end-user (just selecting CX88 should
> allow his board to work);
> - an advanced selection for embedded set-top-boxes, where you can
> select just what you really need.
>
> Due to that, there are several "select" clauses, that don't consider the
> "depends on". So, it is very easy to break it, unfortunately.

No, it is not easy to break, it /is/ broken.

But it is /trivial/ to fix. If A selects B, you have to copy all of B's
dependencies to A or select these dependencies by A.

So it's totally simple to do it right. The only nuisance is that you
always have to update B's dependencies and selections whenever A's
dependencies are changed.

Furthermore: If you are worried that people don't figure out how to
switch on support for board XYZ because it has several dependencies
which may hide CONFIG_XYZ, there is a very simple trick.

comment "XYZ cards need ABC"
depends on ABC=n

config XYZ
tristate "XYZ cards"
depends on ABC

This way you avoid "select ABC", but still see how to get XYZ support
while ABC is off. See for example drivers/ieee1394/Kconfig for an
application of this comment trick.
--
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/