summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xv4l/scripts/make_kconfig.pl21
1 files changed, 13 insertions, 8 deletions
diff --git a/v4l/scripts/make_kconfig.pl b/v4l/scripts/make_kconfig.pl
index 33a53d772..5f8866220 100755
--- a/v4l/scripts/make_kconfig.pl
+++ b/v4l/scripts/make_kconfig.pl
@@ -400,6 +400,19 @@ close OUT;
disable_config('DVB_AV7110_FIRMWARE');
disable_config('DVB_CINERGYT2_TUNING');
+my $i;
+do {
+ $i=0;
+ while ( my ($key,$value) = each(%kernopts) ) {
+ if ($value ne 'n') {
+ if (!deps_ok($key)) {
+ $kernopts{$key}='n';
+ }
+ $i=$i+1;
+ }
+ }
+} until (!$disable);
+
# Produce a .config file if it's forced or one doesn't already exist
if (($force_kconfig eq 1) || !open IN,".config") {
open OUT,">.config" or die;
@@ -407,14 +420,6 @@ if (($force_kconfig eq 1) || !open IN,".config") {
if (!$config{$key}) {
print OUT "# CONFIG_$key is not set\n";
} elsif ($kernopts{$key}) {
- my $ok=deps_ok($key);
-
- # If deps are not ok, mark default as n
- if (!$ok) {
-# print "$key disabled due to missing kernel required prereq\n";
- $kernopts{$key}='n';
- }
-
if ($kernopts{$key} eq 'n') {
print OUT "# CONFIG_$key is not set\n";
} else {