linux/scripts/kconfig
Steven Rostedt ced9cb1af1 localmodconfig: Process source kconfig files as they are found
A bug was reported that caused localmodconfig to not keep all the
dependencies of ATH9K. This was caused by the kconfig file:

In drivers/net/wireless/ath/Kconfig:

---
if ATH_CARDS

config ATH_DEBUG
        bool "Atheros wireless debugging"
        ---help---
          Say Y, if you want to debug atheros wireless drivers.
          Right now only ath9k makes use of this.

source "drivers/net/wireless/ath/ath5k/Kconfig"
source "drivers/net/wireless/ath/ath9k/Kconfig"
source "drivers/net/wireless/ath/carl9170/Kconfig"
source "drivers/net/wireless/ath/ath6kl/Kconfig"
source "drivers/net/wireless/ath/ar5523/Kconfig"
source "drivers/net/wireless/ath/wil6210/Kconfig"

endif
---

The current way kconfig works, it processes new source files after the
first file is completed. It creates an array of new source config files
and when the one file is finished, it continues with the next file.

Unfortunately, this means that it loses the fact that the source file is
within an "if" statement, and this means that each of these source file's
configs will not have the proper dependencies set.

As ATH9K requires ATH_CARDS set, the localmodconfig did not see that
dependency, and did not enable ATH_CARDS. When the oldconfig was run, it
forced ATH9K to be disabled.

Link: http://lkml.kernel.org/r/alpine.DEB.2.02.1304291022320.9234@oneiric

Cc: stable@vger.kernel.org # 3.8+
Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Tested-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2013-04-29 15:41:51 -04:00
..
lxdialog Merge branch 'kbuild/rc-fixes' into kbuild/kconfig 2013-02-25 21:51:57 +01: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 kbuild: Fix missing '\n' for NEW symbols in yes "" | make oldconfig >conf.new 2013-02-19 13:48:36 +01:00
confdata.c kconfig: allow long lines in config file 2012-07-13 22:51:30 +02:00
expr.c kconfig: Fix malloc handling in conf tools 2012-11-20 12:12:47 +01:00
expr.h menuconfig: Replace CIRCLEQ by list_head-style lists. 2012-10-25 15:06:00 +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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kxgettext.c kconfig: nuke LKC_DIRECT_LINK cruft 2011-06-06 15:32:20 -04:00
list.h menuconfig: Replace CIRCLEQ by list_head-style lists. 2012-10-25 15:06:00 +02:00
lkc_proto.h menuconfig: Replace CIRCLEQ by list_head-style lists. 2012-10-25 15:06:00 +02:00
lkc.h kconfig: Fix malloc handling in conf tools 2012-11-20 12:12:47 +01:00
Makefile scripts/kconfig: ensure we use proper CONFIG_ prefix 2012-12-20 23:02:03 +01:00
mconf.c Merge branch 'kbuild/rc-fixes' into kbuild/kconfig 2013-02-25 21:51:57 +01:00
menu.c Merge branch 'kbuild/rc-fixes' into kbuild/kconfig 2013-02-25 21:51:57 +01:00
merge_config.sh merge_config.sh: Add option to specify output dir 2012-12-09 18:22:17 +01:00
nconf.c kconfig: nconf: rewrite labels of function keys line 2013-02-09 01:42:41 +01:00
nconf.gui.c nconf: function keys line, change background color for better readability 2013-01-24 11:43:44 +01: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: Fix malloc handling in conf tools 2012-11-20 12:12:47 +01: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