Steven Rostedt
d4bb58b5cb
localmodconfig: Check if configs are already set for selects
...
There are some cases that a required module does not have a prompt
and needs to have another module enabled that selects it to be set.
As localmodconfig is conservative and tries to make the minimum config
without breaking the user's kernel, or keeping the user from using
devices that were loaded when the lsmod was done, all modules that
select this module will also be enabled.
If you needed module A, but module A did not have a prompt but needed
module B to be selected, localmodconfig would make sure B was still
enabled. If not only B selected A, but C, D, E, F, and G also
selected A, then all of those would also be included, as well as the
modules they depend on. This ballooned the number of configs that
localmodconfig would keep.
The fix here is to process the depends first, and then record those
configs that did not have a prompt and needed to be selected.
After the depends are done, check what configs are needed to select
the configs in the list, and if a config that selects it is already
set, then we don't need to do anything else.
If no config that selects the config is set, then just pick one and
try again.
This change brought down the number of selected modules from 290
to 67! Both before and after were run against a config that had 3095
modules enabled.
Tested-by: John David Yost <johnyost@ptd.net> # AlleyTrotter
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2012-06-19 15:03:06 -04:00
..
basic
fixdep: fix extraneous dependencies
2011-09-09 11:45:47 +02:00
coccinelle
Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2012-05-28 10:39:07 -07:00
dtc
scripts: dtc: fix compile warnings
2012-03-24 23:07:35 +01:00
genksyms
scripts/genksyms: clean lex/yacc generated files
2012-01-08 14:48:15 +01:00
kconfig
localmodconfig: Check if configs are already set for selects
2012-06-19 15:03:06 -04:00
ksymoops
mod
modpost: use proper kernel style for autogenerated files
2012-05-23 22:28:51 +09:30
package
builddeb: include autogenerated header files
2012-05-26 22:54:50 +02:00
rt-tester
selinux
Create Documentation/security/,
2011-05-19 15:59:38 -07:00
tracing
.gitignore
scripts: Add sortextable to sort the kernel's exception table.
2012-04-19 15:06:55 -07:00
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: suggest pr_<level> over printk(KERN_<LEVEL>
2012-05-31 17:49:27 -07: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
cleanfile
cleanpatch
coccicheck
coccicheck: change handling of C={1,2} when M= is set
2012-02-24 23:50:19 +01:00
config
scripts/config: properly report and set string options
2012-05-16 00:13:11 +02:00
conmakehash.c
decodecode
depmod.sh
kbuild: do not check for ancient modutils tools
2012-01-23 15:12:19 +01:00
diffconfig
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
extract-vmlinux
scripts: add extract-vmlinux
2011-08-31 16:12:17 +02:00
gcc-goto.sh
ARM: 7333/2: jump label: detect %c support for ARM
2012-03-24 09:38:56 +00:00
gcc-version.sh
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
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_maintainer.pl: add support for moderated lists
2012-03-23 16:58:32 -07:00
gfp-translate
headerdep.pl
headers.sh
kbuild, headers.sh: Don't make archheaders explicitly
2011-11-22 14:47:50 -08:00
headers_check.pl
headers_check: recursively search for linux/types.h inclusion
2012-03-26 14:54:27 +02: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
Kbuild.include
scripts/Kbuild.include: Fix portability problem of "echo -e"
2012-03-24 23:32:05 +01:00
kernel-doc
scripts/kernel-doc: fix fatal error caused by cfg80211.h
2012-01-23 08:44:53 -08:00
Lindent
link-vmlinux.sh
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2012-05-28 10:32:28 -07:00
Makefile
Merge branch 'x86-extable-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2012-05-23 10:44:35 -07:00
Makefile.asm-generic
kbuild: silence Nothing to be done for 'all' message
2011-06-09 11:48:19 +02:00
Makefile.build
kbuild: disable -Wmissing-field-initializers for W=1
2012-01-26 11:07:26 +01: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: centralize MKIMAGE and cmd_uimage definitions
2012-03-26 15:49:20 +02:00
Makefile.modbuiltin
Makefile.modinst
Makefile.modpost
Merge commit 'v3.0-rc1' into kbuild/kbuild
2011-06-07 15:37:51 +02:00
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
module: Sort exported symbols
2011-05-19 16:55:27 +09:30
namespace.pl
patch-kernel
scripts/patch-kernel: digest kernel.org hosted .xz patches
2012-03-30 15:23:36 +02:00
pnmtologo.c
profile2linkerlist.pl
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: Use "grep -q" instead of piping output to "read dummy"
2012-03-26 22:54:00 +02:00
show_delta
sortextable.c
scripts/sortextable: Handle relative entries, and other cleanups
2012-04-24 11:42:20 -07:00
sortextable.h
scripts/sortextable: Handle relative entries, and other cleanups
2012-04-24 11:42:20 -07:00
tags.sh
Subject: [PATCH] tags.sh: Add missing quotes
2012-04-02 11:28:17 +02:00
unifdef.c
ver_linux
xz_wrap.sh
xz: Enable BCJ filters on SPARC and 32-bit x86
2012-04-18 13:13:18 -07:00