diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-01-20 21:37:38 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-01-20 21:37:38 +0400 |
commit | edde1fb8c41d0db7c8ce17fb32886da2e389b0cc (patch) | |
tree | ceea9aac3ca29b486ab004834fbe501cae15f096 | |
parent | 561a60f025f7b173830c4a2d51f5725bd2094ddf (diff) | |
parent | 95edca5c523c4b404dd60baa0a1bea0e4c38fd72 (diff) | |
download | linux-edde1fb8c41d0db7c8ce17fb32886da2e389b0cc.tar.xz |
Merge tag 'localmodconfig-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-kconfig
Pull localmodconfig update from Steven Rostedt:
"While debugging the problem with localmodconfig and the ALSA codec
modules all being set, I discovered a small bug in the dependency
logic.
If a config has a dependency based on its setting value,
localmodcondig misses it.
For example:
config FOO
default y if BAR || ZOO
If FOO is needed for a module and is set to '=m', and so are BAR or
ZOO, localmodconfig will not see that BAR or ZOO are also needed for
the foo module, and will incorrectly disable them"
* tag 'localmodconfig-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-kconfig:
localmodconfig: Add config depends by default settings
-rw-r--r-- | scripts/kconfig/streamline_config.pl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl index 4606cdfb859d..31331723e810 100644 --- a/scripts/kconfig/streamline_config.pl +++ b/scripts/kconfig/streamline_config.pl @@ -219,6 +219,13 @@ sub read_kconfig { $depends{$config} = $1; } elsif ($state eq "DEP" && /^\s*depends\s+on\s+(.*)$/) { $depends{$config} .= " " . $1; + } elsif ($state eq "DEP" && /^\s*def(_(bool|tristate)|ault)\s+(\S.*)$/) { + my $dep = $3; + if ($dep !~ /^\s*(y|m|n)\s*$/) { + $dep =~ s/.*\sif\s+//; + $depends{$config} .= " " . $dep; + dprint "Added default depends $dep to $config\n"; + } # Get the configs that select this config } elsif ($state ne "NONE" && /^\s*select\s+(\S+)/) { |