unbreak allmodconfig KCONFIG_ALLCONFIG=...
authorAl Viro <viro@ZenIV.linux.org.uk>
Thu, 14 Jan 2016 18:13:49 +0000 (18:13 +0000)
committerChristian Lamparter <chunkeey@googlemail.com>
Wed, 27 Apr 2016 14:17:14 +0000 (16:17 +0200)
commit195268cae3bb2f462d82dc0178dbca07f0cff706
treeb17ca47bedc047e15a6fc434fd168cbb5921f85b
parentfb6dc8e7a5db1d30bb9dc96fc86880dae9bb9006
unbreak allmodconfig KCONFIG_ALLCONFIG=...

Prior to 3.13 make allmodconfig KCONFIG_ALLCONFIG=/dev/null used
to be equivalent to make allmodconfig; these days it hardwires MODULES to n.
In fact, any KCONFIG_ALLCONFIG that doesn't set MODULES explicitly is
treated as if it set it to n.

Regression had been introduced by commit cfa98f ("kconfig: do not
override symbols already set"); what happens is that conf_read_simple()
does sym_calc_value(modules_sym) on exit, which leaves SYMBOL_VALID set and
has conf_set_all_new_symbols() skip modules_sym.

It's pretty easy to fix - simply move that call of sym_calc_value()
into the callers, except for the ones in KCONFIG_ALLCONFIG handling.
Objections?

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Fixes: cfa98f2e0ae9 ("kconfig: do not override symbols already set")
Signed-off-by: Michal Marek <mmarek@suse.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
config/confdata.c