linux-kernel-test/scripts/kconfig
Yann E. MORIN 04b19b773a kconfig: silence warning when parsing auto.conf when a symbol has changed type
When a symbol changes type from tristate to bool, and was previously set to
'm', a subsequent silentoldconfig would warn about inconsistency, such as:

    include/config/auto.conf:3014:warning: symbol value 'm' invalid for
    HOTPLUG_PCI_PCIE

Seen by Linus with the merge in aa8032b (sequence to reproduce by Michal):
    git checkout 1fe0135
    make mrproper
    make allmodconfig
    make silentoldconfig
    git checkout aa8032b
    make allmodconfig
    make silentoldconfig

Since HOTPLUG_PCI_PCIE changed from tristate to bool in aa8032b, it was
previously set to 'm' in auto.conf by the first allmodconfig+silentoldconfig,
but then was set to 'y' by the second allmodconfig. Then the second
silentoldconfig prints the warning.

The warning in this case is a spurious warning, which happens at the time
kconfig tries to detect symbols that have changed, to touch the empty
header files in include/config used for dependency-tracking by make.

Silence the warning when we read the old auto.conf file, since it is
perfectly legit that a symbol changed type since the previous call.

Thread in:
    http://marc.info/?l=linux-pci&m=137569198904000&w=2

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-08-15 22:48:08 +02:00
..
lxdialog Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2013-07-10 16:06:46 -07:00
.gitignore kconfig: remove lkc_defs.h from .gitignore and dontdiff 2012-07-13 15:08:25 +02:00
check.sh kbuild: Fix gcc -x syntax 2012-10-03 09:03:24 +02:00
conf.c kconfig: loop as long as we changed some symbols in randconfig 2013-06-24 20:03:30 +02:00
confdata.c kconfig: silence warning when parsing auto.conf when a symbol has changed type 2013-08-15 22:48:08 +02:00
expr.c kconfig: Fix malloc handling in conf tools 2012-11-20 12:12:47 +01:00
expr.h kconfig: Fix defconfig when one choice menu selects options that another choice menu depends on 2013-06-16 11:00:30 +02:00
gconf.c kconfig: get CONFIG_ prefix from the environment 2012-11-20 11:20:08 +01:00
gconf.glade scripts/kconfig/gconf.glade Update broken web addresses. 2010-09-17 16:54:42 +02:00
images.c
kxgettext.c kconfig: nuke LKC_DIRECT_LINK cruft 2011-06-06 15:32:20 -04:00
list.h kconfig: fix lists definition for C++ 2013-04-29 19:55:56 +02:00
lkc_proto.h mconf/nconf: mark empty menus/menuconfigs different from non-empty ones 2013-06-18 23:58:59 +02:00
lkc.h kconfig: loop as long as we changed some symbols in randconfig 2013-06-24 20:03:30 +02:00
Makefile kconfig: optionally use pkg-config to detect ncurses libs 2013-03-07 00:21:11 +01:00
mconf.c Merge branch 'yem-kconfig-rc-fixes' of git://gitorious.org/linux-kconfig/linux-kconfig into kbuild/kconfig 2013-07-23 15:57:17 +02:00
menu.c Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2013-07-10 16:06:46 -07:00
merge_config.sh merge_config.sh: Avoid creating unnessary source softlinks 2013-04-10 10:55:22 +02:00
nconf.c kconfig/[mn]conf: shorten title in search-box 2013-07-16 20:26:47 +02:00
nconf.gui.c nconf: use function calls instead of ncurses' variables LINES and COLS 2013-06-18 23:58:58 +02:00
nconf.h scripts/kconfig/nconf: dynamically alloc dialog_input_result 2011-09-09 14:40:08 +02:00
POTFILES.in kconfig: gettext support for lxdialog 2008-01-28 23:14:39 +01:00
qconf.cc kconfig: fix a compiliation error when using make xconfig 2013-01-30 10:16:43 +01:00
qconf.h xconfig: Abort close if configuration cannot be saved 2011-07-25 15:50:34 +02:00
streamline_config.pl localmodconfig: Process source kconfig files as they are found 2013-04-29 15:41:51 -04:00
symbol.c kconfig: switch to "long long" for sanity 2013-08-15 22:48:06 +02:00
util.c kconfig: Fix malloc handling in conf tools 2012-11-20 12:12:47 +01:00
zconf.gperf kconfig: constify `kconf_id_lookup' 2011-06-09 14:04:42 -04:00
zconf.hash.c_shipped kconfig: regen parser 2011-06-09 14:04:45 -04:00
zconf.l kconfig: Fix malloc handling in conf tools 2012-11-20 12:12:47 +01:00
zconf.lex.c_shipped kconfig: Regenerate lexer 2012-11-20 12:12:57 +01:00
zconf.tab.c_shipped Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-07-30 00:17:06 -07:00
zconf.y Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-07-30 00:17:06 -07:00