Commit 500fcbc4 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'localmodconfig-v3.10' of...

Merge tag 'localmodconfig-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-kconfig

Pull localmodconfig changes from Steven Rostedt:
 "A bug was recently found in the make localmodconfig where it would
  miss dependencies of config files are include in other config files
  inside an if statement.

  Also added a debug print that helped in solving this bug."

* tag 'localmodconfig-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-kconfig:
  localmodconfig: Process source kconfig files as they are found
  localmodconfig: Add debug prints for dependencies of module configs
parents 56847d85 ced9cb1a
...@@ -156,7 +156,6 @@ sub read_kconfig { ...@@ -156,7 +156,6 @@ sub read_kconfig {
my $state = "NONE"; my $state = "NONE";
my $config; my $config;
my @kconfigs;
my $cont = 0; my $cont = 0;
my $line; my $line;
...@@ -190,7 +189,13 @@ sub read_kconfig { ...@@ -190,7 +189,13 @@ sub read_kconfig {
# collect any Kconfig sources # collect any Kconfig sources
if (/^source\s*"(.*)"/) { if (/^source\s*"(.*)"/) {
$kconfigs[$#kconfigs+1] = $1; my $kconfig = $1;
# prevent reading twice.
if (!defined($read_kconfigs{$kconfig})) {
$read_kconfigs{$kconfig} = 1;
read_kconfig($kconfig);
}
next;
} }
# configs found # configs found
...@@ -250,14 +255,6 @@ sub read_kconfig { ...@@ -250,14 +255,6 @@ sub read_kconfig {
} }
} }
close($kinfile); close($kinfile);
# read in any configs that were found.
foreach my $kconfig (@kconfigs) {
if (!defined($read_kconfigs{$kconfig})) {
$read_kconfigs{$kconfig} = 1;
read_kconfig($kconfig);
}
}
} }
if ($kconfig) { if ($kconfig) {
...@@ -396,6 +393,15 @@ foreach my $module (keys(%modules)) { ...@@ -396,6 +393,15 @@ foreach my $module (keys(%modules)) {
foreach my $conf (@arr) { foreach my $conf (@arr) {
$configs{$conf} = $module; $configs{$conf} = $module;
dprint "$conf added by direct ($module)\n"; dprint "$conf added by direct ($module)\n";
if ($debugprint) {
my $c=$conf;
$c =~ s/^CONFIG_//;
if (defined($depends{$c})) {
dprint " deps = $depends{$c}\n";
} else {
dprint " no deps\n";
}
}
} }
} else { } else {
# Most likely, someone has a custom (binary?) module loaded. # Most likely, someone has a custom (binary?) module loaded.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment