Re: [patch] MTD: fix DOC2000/2001/2001PLUS build error

From: Linus Torvalds
Date: Tue Feb 06 2007 - 21:09:57 EST




On Wed, 7 Feb 2007, David Woodhouse wrote:
>
> I think 'make oldconfig_noselect' is the way forward. We can both have
> what we want.

Actually, I think there might be an even more interesting schenario.

The Kconfig language right not is ternary, which is fine as an arithmetic,
but the problem *may* be that we actually want it to be more expressive.

If instead of a ternary "y/m/n" calculus, we would use a "Y/y/m/n/N"
quinary logic, where "Y" and "N" are like "force on/off", you might have
the following:

"y + depends on => n"
"Y + depends on => Y, and the depends on to Y too"
"n/N + depends on => n"

"y/Y + selected => y"
"n + select => y"
"N + select => N, and the select to N"

In other words, "Y" means "force to Y, even if it has a dependency (which
we'll also have to force", while "N" means "force to N, even if it is
getting selected, in which case the selection will also be forced to N").

So then you can say things like

- edit .config, and set *any* value to "Y", and it will force-enable
anything that that depends on when you run "make oldconfig", even if it
was an "depends on"

- edit .config, and set *any* value to "N", and it fill force-disable
anything that selects that when you you run "make oldconfig"

The problem here is that:

- you can get inconsistent situations ("but he wanted to both force that
on *and* off!")

- "select" actually is much nicer, in that it unambiguously selects one
other symbol. But "depends on" is very hard to force, because you may
have something like (totally made up)

depends on X86 || (ALPHA && PCI)

which is impossible to force (*which* one do you force?) on.

but something like this would be nice for both the text-based "make
oldconfig" kind of thing *and* for any graphical configuration things
("dammit, I want this OFF, when I press the force-off-buffon you turn
anything off that needs it!")

But the two problems above might make it impractical..

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