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 <pgeorgi@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/29813 Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Martin Roth <martinroth@google.com> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
0d866f8cd8
commit
cbc5b99ac9
|
@ -530,6 +530,7 @@ sub build_and_parse_kconfig_tree {
|
||||||
my $inside_config = ""; # set to symbol name of the config section
|
my $inside_config = ""; # set to symbol name of the config section
|
||||||
my @inside_menu = (); # stack of menu names
|
my @inside_menu = (); # stack of menu names
|
||||||
my $inside_choice = "";
|
my $inside_choice = "";
|
||||||
|
my $choice_symbol = "";
|
||||||
my $configs_inside_choice;
|
my $configs_inside_choice;
|
||||||
my %fileinfo;
|
my %fileinfo;
|
||||||
|
|
||||||
|
@ -617,6 +618,7 @@ sub build_and_parse_kconfig_tree {
|
||||||
my $symbol = $1;
|
my $symbol = $1;
|
||||||
add_symbol( $symbol, \@inside_menu, $filename, $line_no, \@inside_if );
|
add_symbol( $symbol, \@inside_menu, $filename, $line_no, \@inside_if );
|
||||||
handle_type( "bool", $symbol, $filename, $line_no );
|
handle_type( "bool", $symbol, $filename, $line_no );
|
||||||
|
$choice_symbol = $symbol;
|
||||||
}
|
}
|
||||||
$inside_config = "";
|
$inside_config = "";
|
||||||
$inside_choice = "$filename $line_no";
|
$inside_choice = "$filename $line_no";
|
||||||
|
@ -633,10 +635,12 @@ sub build_and_parse_kconfig_tree {
|
||||||
}
|
}
|
||||||
|
|
||||||
$inside_choice = "";
|
$inside_choice = "";
|
||||||
if ( $configs_inside_choice == 0 ) {
|
if (( $configs_inside_choice == 0 ) &&
|
||||||
show_error("choice block has no symbols at $filename:$line_no.");
|
( $choice_symbol eq "" )) {
|
||||||
|
show_error("unnamed choice block has no symbols at $filename:$line_no.");
|
||||||
}
|
}
|
||||||
$configs_inside_choice = 0;
|
$configs_inside_choice = 0;
|
||||||
|
$choice_symbol="";
|
||||||
}
|
}
|
||||||
|
|
||||||
# [optional]
|
# [optional]
|
||||||
|
|
Loading…
Reference in New Issue