Surprising Kconfig depends semantics

From: Adrian Bunk
Date: Fri Aug 08 2003 - 09:51:05 EST


Hi Roman,

I traced some unresolved symbol problems in 2.6.0-test2-mm5 down to the
following:

drivers/input/keyboard/Kconfig contains the following:

config KEYBOARD_ATKBD
tristate "AT keyboard support" if EMBEDDED || !X86
default y
depends on INPUT && INPUT_KEYBOARD && SERIO


The .config includes:
# CONFIG_EMBEDDED is not set
CONFIG_X86=y
CONFIG_INPUT=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_SERIO=m

Kconfig sets
CONFIG_KEYBOARD_ATKBD=y

CONFIG_SERIO=m with CONFIG_KEYBOARD_ATKBD=y shouldn't be a valid
combination.

The correct solution is most likely a
default y if INPUT=y && INPUT_KEYBOARD=y && SERIO=y
default m if INPUT!=n && INPUT_KEYBOARD!=n && SERIO!=n


The semantics that in

config FOO
tristate
default y if BAR

FOO will be set to y if BAR=m is a bit surprising.


cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

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