streamline_config.pl: remove prompt warnings for configs with defaults

Ignore process select warnings for config entries that have a default
option. Some config entries have no prompt, and nothing selects them, but
these config options are okay because they have a default option.

Signed-off-by: David Hunter <david.hunter.linux@gmail.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
David Hunter 2024-10-14 10:13:33 -04:00 committed by Masahiro Yamada
parent 90edd30b86
commit bf98f6d108

View File

@ -144,6 +144,7 @@ my %selects;
my %prompts;
my %objects;
my %config2kfile;
my %defaults;
my $var;
my $iflevel = 0;
my @ifdeps;
@ -222,6 +223,7 @@ sub read_kconfig {
$depends{$config} .= " " . $1;
} elsif ($state ne "NONE" && /^\s*def(_(bool|tristate)|ault)\s+(\S.*)$/) {
my $dep = $3;
$defaults{$config} = 1;
if ($dep !~ /^\s*(y|m|n)\s*$/) {
$dep =~ s/.*\sif\s+//;
$depends{$config} .= " " . $dep;
@ -523,8 +525,16 @@ sub parse_config_selects
# If no possible config selected this, then something happened.
if (!defined($next_config)) {
print STDERR "WARNING: $config is required, but nothing in the\n";
print STDERR " current config selects it.\n";
# Some config options have no prompt, and nothing selects them, but
# they stay turned on once the final checks for the configs
# are done. These configs have a default option, so turn off the
# warnings for configs with default options.
if (!defined($defaults{$config})) {
print STDERR "WARNING: $config is required, but nothing in the\n";
print STDERR " current config selects it.\n";
}
return;
}