kernel_optimize_test/scripts
Arnaud Lacombe 5d09598d48 kconfig: fix new choices being skipped upon config update
Running `oldconfig' after any of the following configuration change:

either trivial addition, such as:

config A
	bool "A"

choice
	prompt "Choice ?"
	depends on A

	config CHOICE_B
		bool "Choice B"

	config CHOICE_C
		bool "Choice C"
endchoice

or more tricky change:

OLD KCONFIG                      |  NEW KCONFIG
                                 |
                                 |  config A
                                 |          bool "A"
                                 |
choice                           |  choice
        prompt "Choice ?"        |          prompt "Choice ?"
                                 |
        config CHOICE_C          |          config CHOICE_C
                bool "Choice C"  |                  bool "Choice C"
                                 |
        config CHOICE_D          |          config CHOICE_D
                bool "Choice D"  |                  bool "Choice D"
endchoice                        |
                                 |          config CHOICE_E
                                 |                  bool "Choice E"
                                 |                  depends on A
                                 |  endchoice

will not cause the choice to be considered as NEW, and thus not be
asked. The cause of this behavior is that choice's novelty are computed
statically right after the saved configuration has been read. At this
point, the new dependency's value is still unknown and asserted to be
`no'. Moreover, no update to this decision is made afterward.

Correct this by dynamically evaluating a choice's novelty, and removing the
static evaluation.

Reported-and-tested-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-01-26 11:01:56 +01:00
..
basic fixdep: fix extraneous dependencies 2011-09-09 11:45:47 +02:00
coccinelle scripts/coccinelle: improve the coverage of some semantic patches 2012-01-15 00:05:46 +01:00
dtc dtc: Implement -d option to write out a dependency file 2012-01-14 23:47:37 +01:00
genksyms scripts/genksyms: clean lex/yacc generated files 2012-01-08 14:48:15 +01:00
kconfig kconfig: fix new choices being skipped upon config update 2012-01-26 11:01:56 +01:00
ksymoops
mod Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1 2012-01-14 12:32:16 -08:00
package scripts/package/Makefile: Fix typo: an deb -> a deb 2011-10-29 21:15:07 +02:00
rt-tester
selinux
tracing
.gitignore
bin2c.c
bloat-o-meter
bootgraph.pl bootgraph.pl: relax timing information requirements 2011-06-13 00:04:57 +02:00
checkincludes.pl
checkkconfigsymbols.sh
checkpatch.pl checkpatch: catch all occurences of type and cast spacing errors per line 2012-01-10 16:30:51 -08:00
checkstack.pl
checksyscalls.sh checksyscalls: Use arch/x86/syscalls/syscall_32.tbl as source 2011-11-17 13:35:37 -08:00
checkversion.pl
cleanfile
cleanpatch
coccicheck coccicheck: add M= option to control which dir is processed 2012-01-14 22:25:40 +01:00
config
conmakehash.c
decodecode
depmod.sh kbuild: Do not write to builddir in modules_install 2011-07-12 13:36:30 +02:00
diffconfig
docproc.c docproc: cleanup brace placement 2011-06-16 20:40:03 +02:00
export_report.pl
extract-ikconfig
extract-vmlinux scripts: add extract-vmlinux 2011-08-31 16:12:17 +02:00
gcc-goto.sh scripts/gcc-goto.sh: fix a typo ("suport") 2011-06-16 11:15:22 +02:00
gcc-version.sh
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
gen_initramfs_list.sh
get_maintainer.pl get_maintainers.pl: follow renames when looking up commit signers 2012-01-10 16:30:46 -08:00
gfp-translate
headerdep.pl
headers_check.pl
headers_install.pl headers_install: fix __packed in exported kernel headers 2011-06-24 16:56:05 +02:00
headers.sh kbuild, headers.sh: Don't make archheaders explicitly 2011-11-22 14:47:50 -08:00
kallsyms.c
Kbuild.include kbuild: add `baseprereq' 2011-06-09 14:04:38 -04:00
kernel-doc
Lindent
Makefile
Makefile.asm-generic kbuild: silence Nothing to be done for 'all' message 2011-06-09 11:48:19 +02:00
Makefile.build scripts/Makefile.build: do not reference EXTRA_CFLAGS as CFLAGS replacement 2011-08-31 16:41:39 +02:00
Makefile.clean
Makefile.fwinst
Makefile.headersinst kbuild: Add support for installing generated asm headers 2011-11-17 13:14:36 -08:00
Makefile.help
Makefile.host
Makefile.lib Kbuild: Use dtc's -d (dependency) option 2012-01-15 00:04:35 +01:00
Makefile.modbuiltin
Makefile.modinst
Makefile.modpost
makelst
markup_oops.pl
mkcompile_h
mkmakefile kbuild: silence generated makefile message 2011-07-20 17:08:08 +02:00
mksysmap
mkuboot.sh
mkversion
module-common.lds
namespace.pl
patch-kernel
pnmtologo.c
profile2linkerlist.pl
recordmcount.c
recordmcount.h recordmcount: Fix handling of elf64 big-endian objects. 2012-01-06 17:06:42 -05:00
recordmcount.pl
setlocalversion
show_delta
tags.sh ctags: remove struct forward declarations 2011-12-18 22:36:06 +01:00
unifdef.c
ver_linux
xz_wrap.sh