• Yann E. MORIN's avatar
    kconfig: silence warning when parsing auto.conf when a symbol has changed type · 04b19b77
    Yann E. MORIN authored
    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 aa8032b6 (sequence to reproduce by Michal):
        git checkout 1fe0135b
        make mrproper
        make allmodconfig
        make silentoldconfig
        git checkout aa8032b6
        make allmodconfig
        make silentoldconfig
    
    Since HOTPLUG_PCI_PCIE changed from tristate to bool in aa8032b6, 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=2Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: default avatar"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>
    04b19b77
confdata.c 25.4 KB