[PATCH v2 3/7] streamline_config.pl: remove prompt warnings for configs with defaults

David Hunter posted 7 patches 1 month, 1 week ago
[PATCH v2 3/7] streamline_config.pl: remove prompt warnings for configs with defaults
Posted by David Hunter 1 month, 1 week ago
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>
---
V1 https://lore.kernel.org/all/20240913171205.22126-7-david.hunter.linux@gmail.com/

V2 
	- changed subject
	- put a space between "if" and "(" 
---
 scripts/kconfig/streamline_config.pl | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
index 85f4712e2bf3..8e23faab5d22 100755
--- a/scripts/kconfig/streamline_config.pl
+++ b/scripts/kconfig/streamline_config.pl
@@ -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;
     }
 
-- 
2.43.0
Re: [PATCH v2 3/7] streamline_config.pl: remove prompt warnings for configs with defaults
Posted by Masahiro Yamada 3 weeks ago
On Mon, Oct 14, 2024 at 11:14 PM David Hunter
<david.hunter.linux@gmail.com> wrote:
>
> 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>
> ---

Applied to linux-kbuild.
Thanks.


> V1 https://lore.kernel.org/all/20240913171205.22126-7-david.hunter.linux@gmail.com/
>
> V2
>         - changed subject
>         - put a space between "if" and "("
> ---
>  scripts/kconfig/streamline_config.pl | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
> index 85f4712e2bf3..8e23faab5d22 100755
> --- a/scripts/kconfig/streamline_config.pl
> +++ b/scripts/kconfig/streamline_config.pl
> @@ -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;
>      }
>
> --
> 2.43.0
>


-- 
Best Regards
Masahiro Yamada