diff --git a/scripts/kconfig.pl b/scripts/kconfig.pl index 8113273538..b91cdf397a 100755 --- a/scripts/kconfig.pl +++ b/scripts/kconfig.pl @@ -73,7 +73,10 @@ sub config_add($$$) { my %cfg = %$_; foreach my $config (keys %cfg) { - next if $mod_plus and $config{$config} and $config{$config} eq "y"; + if ($mod_plus and $config{$config}) { + next if $config{$config} eq "y"; + next if $cfg{$config} eq '#undef'; + } $config{$config} = $cfg{$config}; } } diff --git a/scripts/metadata.pl b/scripts/metadata.pl index d250a71978..bd6dbc54ac 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -115,6 +115,7 @@ sub gen_kconfig_overrides() { $val = $2; } if ($config{"CONFIG_PACKAGE_$package"} and ($config ne 'n')) { + next if $kconfig{$config} eq 'y'; $kconfig{$config} = $val; } elsif (!$override) { $kconfig{$config} or $kconfig{$config} = 'n';