From cbc5b99ac9e5856631109b1e7f20e80799beb1e4 Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Fri, 23 Nov 2018 15:55:56 +0100 Subject: util/lint: Allow non-option carrying named choices named choices can be overridden with a default later-on: choice FOO config A config B config C endchoice ... if BOARD_FOO choice FOO default A endchoice endif Reflect that. Change-Id: I6662e19685f6ab0b84c78b30aedc266c0e176039 Signed-off-by: Patrick Georgi Reviewed-on: https://review.coreboot.org/c/coreboot/+/29813 Reviewed-by: Nico Huber Reviewed-by: Martin Roth Reviewed-by: Stefan Reinauer Tested-by: build bot (Jenkins) --- util/lint/kconfig_lint | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'util/lint/kconfig_lint') diff --git a/util/lint/kconfig_lint b/util/lint/kconfig_lint index 1545c8299b..16188bacc5 100755 --- a/util/lint/kconfig_lint +++ b/util/lint/kconfig_lint @@ -530,6 +530,7 @@ sub build_and_parse_kconfig_tree { my $inside_config = ""; # set to symbol name of the config section my @inside_menu = (); # stack of menu names my $inside_choice = ""; + my $choice_symbol = ""; my $configs_inside_choice; my %fileinfo; @@ -617,6 +618,7 @@ sub build_and_parse_kconfig_tree { my $symbol = $1; add_symbol( $symbol, \@inside_menu, $filename, $line_no, \@inside_if ); handle_type( "bool", $symbol, $filename, $line_no ); + $choice_symbol = $symbol; } $inside_config = ""; $inside_choice = "$filename $line_no"; @@ -633,10 +635,12 @@ sub build_and_parse_kconfig_tree { } $inside_choice = ""; - if ( $configs_inside_choice == 0 ) { - show_error("choice block has no symbols at $filename:$line_no."); + if (( $configs_inside_choice == 0 ) && + ( $choice_symbol eq "" )) { + show_error("unnamed choice block has no symbols at $filename:$line_no."); } $configs_inside_choice = 0; + $choice_symbol=""; } # [optional] -- cgit v1.2.3