From: Sam Ravnborg Date: Thu, 12 Aug 2010 07:11:52 +0000 (+0200) Subject: kconfig: fix tristate choice with minimal config X-Git-Tag: v2.6.36-rc1~30^2~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a64b44ead002ba15fdf841106a6fd344b8dd46d8;p=pandora-kernel.git kconfig: fix tristate choice with minimal config If a minimal config did not specify the value of all choice values, the resulting configuration could have wrong values. Consider following example: config M def_bool y option modules choice prompt "choice list" config A tristate "a" config B tristate "b" endchoice With a defconfig like this: CONFIG_M=y CONFIG_A=y The resulting configuration would have CONFIG_A=m which was unexpected. The problem was not not all choice values were set and thus kconfig calculated a wrong value. The fix is to set all choice values when we read a defconfig files. conf_set_all_new_symbols() is refactored such that random choice values are now handled by a dedicated function. And new choice values are set by set_all_choice_values(). This was not the minimal fix, but the fix that resulted in the most readable code. Signed-off-by: Sam Ravnborg Reported-by: Arve Hjønnevåg Tested-by: Arve Hjønnevåg Signed-off-by: Michal Marek --- Reading git-diff-tree failed