On Mon, Feb 11, 2008 at 09:13:47PM +0100, Roman Zippel wrote: > Hi, > > On Sun, 10 Feb 2008, Adrian Bunk wrote: > > > The attached .config (with current -git) results in a compile > > error since it contains: > > > > CONFIG_X86=y > > # CONFIG_EMBEDDED is not set > > CONFIG_SERIO=m > > CONFIG_SERIO_I8042=y > > > > Looking at drivers/input/serio/Kconfig I simply don't get how this > > can happen. > > You've hit the rather subtle rules of select vs default. What happened is > that SERIO is selected to m, but SERIO_I8042 isn't selected so the default > of y is used instead. > We already had the problem in the past that select and default don't work > well together, so this patch cleans this up and makes the rule hopefully > more straightforward. Basically now the value is calculated like this: > > (value && dependency) || select > > where the value is the user choice (if available and the symbol is > visible) or default. > > In this case it means SERIO and SERIO_I8042 are both set to y due to their > default and if SERIO didn't had the default, then the SERIO_I8042 value > would be limited to m due to the dependency. > > I tested this patch with more 10000 random configs and above case is the > only the difference that showed up, so I hope there is nothing that > depended on the old more complex and subtle rules. > > bye, Roman > > Signed-off-by: Roman Zippel <zippel@xxxxxxxxxxxxxx> Patch applied and will be pushed for inclusion in -rc1. Sam - To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html