linux/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 Fix common misspellings 2011-03-31 11:26:23 -03:00
selinux Create Documentation/security/, 2011-05-19 15:59:38 -07:00
tracing tracing, perf: Convert the power tracer into an event tracer 2009-09-19 11:42:12 +02:00
.gitignore kbuild: move scripts/basic/docproc.c to scripts/docproc.c 2011-05-02 22:48:03 +02:00
Kbuild.include kbuild: add `baseprereq' 2011-06-09 14:04:38 -04:00
Lindent scripts/Lindent: support gnu indent v2.2.10 2008-04-29 08:06:04 -07:00
Makefile kbuild: move scripts/basic/docproc.c to scripts/docproc.c 2011-05-02 22:48:03 +02:00
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 kbuild: Really don't clean bounds.h and asm-offsets.h 2010-03-11 11:15:22 +01:00
Makefile.fwinst firmware: silence __fw_modbuild and __fw_modinst 'Nothing to be done' messages 2008-08-02 07:52:29 +01:00
Makefile.headersinst kbuild: Add support for installing generated asm headers 2011-11-17 13:14:36 -08:00
Makefile.help Add a target to use the Coccinelle checker 2010-06-12 00:00:29 +02:00
Makefile.host kbuild: fix some minor typoes 2008-04-25 20:18:48 +02:00
Makefile.lib Kbuild: Use dtc's -d (dependency) option 2012-01-15 00:04:35 +01:00
Makefile.modbuiltin kbuild: Create output directory in Makefile.modbuiltin 2010-06-10 12:23:08 +02:00
Makefile.modinst Revert "kbuild: strip generated symbols from *.ko" 2009-01-14 21:38:20 +01:00
Makefile.modpost Merge commit 'v3.0-rc1' into kbuild/kbuild 2011-06-07 15:37:51 +02:00
bin2c.c
bloat-o-meter bloat-o-meter: include read-only data section in report 2011-03-22 17:44:17 -07:00
bootgraph.pl bootgraph.pl: relax timing information requirements 2011-06-13 00:04:57 +02:00
checkincludes.pl checkincludes: fix perlcritic warnings 2010-03-07 21:19:57 +01:00
checkkconfigsymbols.sh checkkconfigsymbols.sh: Kconfig symbols sometimes have lowercase letters 2010-06-03 10:39:39 +02:00
checkpatch.pl checkpatch: catch all occurences of type and cast spacing errors per line 2012-01-10 16:30:51 -08:00
checkstack.pl Haavard Skinnemoen has left Atmel 2011-05-18 23:24:50 +02:00
checksyscalls.sh checksyscalls: Use arch/x86/syscalls/syscall_32.tbl as source 2011-11-17 13:35:37 -08:00
checkversion.pl kbuild: don't warn about include/linux/version.h not including itself 2011-04-29 15:38:55 +02:00
cleanfile
cleanpatch
coccicheck coccicheck: add M= option to control which dir is processed 2012-01-14 22:25:40 +01:00
config kbuild: add numeric --set-val option to scripts/config 2010-12-15 15:44:31 +01:00
conmakehash.c Fix all -Wmissing-prototypes warnings in x86 defconfig 2009-09-23 07:39:28 -07:00
decodecode scripts: decodecode: remove bashisms 2010-06-04 10:26:35 +02:00
depmod.sh kbuild: Do not write to builddir in modules_install 2011-07-12 13:36:30 +02:00
diffconfig kconfig: add diffconfig utility 2008-07-25 22:12:41 +02:00
docproc.c docproc: cleanup brace placement 2011-06-16 20:40:03 +02:00
export_report.pl export_report: use warn() to issue WARNING, so they go to stderr 2011-05-24 16:07:07 +02:00
extract-ikconfig scripts/extract-ikconfig: add xz compression support 2011-02-10 15:23:03 +01:00
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 Remove bashisms from scripts 2009-06-09 22:37:54 +02:00
gcc-x86_32-has-stack-protector.sh stackprotector: fix multi-word cross-builds 2009-02-11 12:17:29 +01:00
gcc-x86_64-has-stack-protector.sh stackprotector: fix multi-word cross-builds 2009-02-11 12:17:29 +01:00
gen_initramfs_list.sh Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-05-24 13:31:37 -07:00
get_maintainer.pl get_maintainers.pl: follow renames when looking up commit signers 2012-01-10 16:30:46 -08:00
gfp-translate scripts: fix gfp-translate for recent changes to gfp.h 2010-11-25 06:50:49 +09:00
headerdep.pl headerdep: perlcritic warning 2010-03-23 12:26:38 +01:00
headers.sh kbuild, headers.sh: Don't make archheaders explicitly 2011-11-22 14:47:50 -08:00
headers_check.pl headers_check: Fix warning text 2010-12-14 17:05:08 +01:00
headers_install.pl headers_install: fix __packed in exported kernel headers 2011-06-24 16:56:05 +02:00
kallsyms.c scripts/kallsyms.c: fix potential segfault 2011-05-12 17:23:40 +02:00
kernel-doc Fix common misspellings 2011-03-31 11:26:23 -03:00
makelst kbuild: introduce ccflags-y, asflags-y and ldflags-y 2007-10-15 22:25:06 +02:00
markup_oops.pl Merge branch 'for-35' of git://repo.or.cz/linux-kbuild 2010-06-01 08:55:52 -07:00
mkcompile_h Fix handling of backlash character in LINUX_COMPILE_BY name 2011-04-29 15:55:45 +02:00
mkmakefile kbuild: silence generated makefile message 2011-07-20 17:08:08 +02:00
mksysmap Revert "kbuild: strip generated symbols from *.ko" 2009-01-14 21:38:20 +01:00
mkuboot.sh mkuboot.sh: Fail if mkimage is missing 2011-01-07 14:31:01 +01:00
mkversion
module-common.lds module: Sort exported symbols 2011-05-19 16:55:27 +09:30
namespace.pl Revert "namespace: add source file location exceptions" 2010-10-28 00:59:56 +02:00
patch-kernel eradicate bashisms in scripts/patch-kernel 2011-04-04 14:58:33 +02:00
pnmtologo.c fbdev: work around old compiler bug 2009-06-30 18:55:59 -07:00
profile2linkerlist.pl profile2linkerlist: fix perl warnings 2010-03-07 21:39:33 +01:00
recordmcount.c ftrace/s390: mcount offset calculation 2011-05-16 15:05:06 -04:00
recordmcount.h recordmcount: Fix handling of elf64 big-endian objects. 2012-01-06 17:06:42 -05:00
recordmcount.pl ftrace/s390: mcount offset calculation 2011-05-16 15:05:06 -04:00
setlocalversion setlocalversion: update mercurial tag parsing 2011-01-15 00:40:44 +01:00
show_delta scripts: change scripts to use system python instead of env 2010-02-02 14:33:56 +01:00
tags.sh ctags: remove struct forward declarations 2011-12-18 22:36:06 +01:00
unifdef.c unifdef: update to upstream version 2.5 2011-01-22 15:50:59 +01:00
ver_linux Remove bashisms from scripts 2009-06-09 22:37:54 +02:00
xz_wrap.sh decompressors: add XZ decompressor module 2011-01-13 08:03:24 -08:00