diff options
| -rw-r--r-- | scripts/kconfig/streamline_config.pl | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl index 343a56863660..4606cdfb859d 100644 --- a/scripts/kconfig/streamline_config.pl +++ b/scripts/kconfig/streamline_config.pl | |||
| @@ -156,7 +156,6 @@ sub read_kconfig { | |||
| 156 | 156 | ||
| 157 | my $state = "NONE"; | 157 | my $state = "NONE"; |
| 158 | my $config; | 158 | my $config; |
| 159 | my @kconfigs; | ||
| 160 | 159 | ||
| 161 | my $cont = 0; | 160 | my $cont = 0; |
| 162 | my $line; | 161 | my $line; |
| @@ -190,7 +189,13 @@ sub read_kconfig { | |||
| 190 | 189 | ||
| 191 | # collect any Kconfig sources | 190 | # collect any Kconfig sources |
| 192 | if (/^source\s*"(.*)"/) { | 191 | if (/^source\s*"(.*)"/) { |
| 193 | $kconfigs[$#kconfigs+1] = $1; | 192 | my $kconfig = $1; |
| 193 | # prevent reading twice. | ||
| 194 | if (!defined($read_kconfigs{$kconfig})) { | ||
| 195 | $read_kconfigs{$kconfig} = 1; | ||
| 196 | read_kconfig($kconfig); | ||
| 197 | } | ||
| 198 | next; | ||
| 194 | } | 199 | } |
| 195 | 200 | ||
| 196 | # configs found | 201 | # configs found |
| @@ -250,14 +255,6 @@ sub read_kconfig { | |||
| 250 | } | 255 | } |
| 251 | } | 256 | } |
| 252 | close($kinfile); | 257 | close($kinfile); |
| 253 | |||
| 254 | # read in any configs that were found. | ||
| 255 | foreach my $kconfig (@kconfigs) { | ||
| 256 | if (!defined($read_kconfigs{$kconfig})) { | ||
| 257 | $read_kconfigs{$kconfig} = 1; | ||
| 258 | read_kconfig($kconfig); | ||
| 259 | } | ||
| 260 | } | ||
| 261 | } | 258 | } |
| 262 | 259 | ||
| 263 | if ($kconfig) { | 260 | if ($kconfig) { |
