util/lint/kconfig_lint: change warning levels and text

- Add an exception for MAINBOARD_POWER_ON_AFTER_POWER_FAIL when checking
- With those exceptions set, we don't have anymore #define or #ifdef
warnings, so turn them to errors so no more can be pushed.
- Change the definition of an unused symbol from a warning to a note.
There are times when unused symbols are expected.
- Upgrade the warning for loading Kconfig files multiple times from
a warning to an error.

Change-Id: I6dcb06d4f0b099d5ccaf7643e72dd790719bdf58
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/16840
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Martin Roth 2016-09-30 15:56:27 -06:00
parent fa95625867
commit 8bc8be4d0e
1 changed files with 13 additions and 5 deletions

View File

@ -197,8 +197,11 @@ sub check_for_ifdef {
my $symbol = $3; my $symbol = $3;
if ( ( exists $symbols{$symbol} ) && ( $symbols{$symbol}{type} ne "string" ) ) { if ( ( exists $symbols{$symbol} ) && ( $symbols{$symbol}{type} ne "string" ) ) {
show_warning( "#ifdef 'CONFIG_$symbol' used at $file:$lineno." # TODO: Remove special check for CONFIG_MAINBOARD_POWER_ON_AFTER_POWER_FAIL
if ($symbol ne "MAINBOARD_POWER_ON_AFTER_POWER_FAIL") {
show_error( "#ifdef 'CONFIG_$symbol' used at $file:$lineno."
. " Symbols of type '$symbols{$symbol}{type}' are always defined." ); . " Symbols of type '$symbols{$symbol}{type}' are always defined." );
}
} }
} }
} }
@ -261,7 +264,10 @@ sub check_for_def {
my $symbol = $3; my $symbol = $3;
if ( ( exists $symbols{$symbol} ) ) { if ( ( exists $symbols{$symbol} ) ) {
show_warning("#define of symbol 'CONFIG_$symbol' used at $file:$lineno."); # TODO: Remove special check for CONFIG_MAINBOARD_POWER_ON_AFTER_POWER_FAIL
if ($symbol ne "MAINBOARD_POWER_ON_AFTER_POWER_FAIL") {
show_error("#define of symbol 'CONFIG_$symbol' used at $file:$lineno.");
}
} }
else { else {
show_warning( "#define 'CONFIG_$symbol' used at $file:$lineno." show_warning( "#define 'CONFIG_$symbol' used at $file:$lineno."
@ -460,7 +466,9 @@ sub check_used_symbols {
for ( my $i = 0 ; $i <= $symbols{$key}{count} ; $i++ ) { for ( my $i = 0 ; $i <= $symbols{$key}{count} ; $i++ ) {
my $filename = $symbols{$key}{$i}{file}; my $filename = $symbols{$key}{$i}{file};
my $line_no = $symbols{$key}{$i}{line_no}; my $line_no = $symbols{$key}{$i}{line_no};
show_warning("Unused symbol '$key' referenced at $filename:$line_no."); if ($show_note_output) {
print("#!!!!! Note: Unused symbol '$key' defined at $filename:$line_no.");
}
} }
} }
} }
@ -1162,9 +1170,9 @@ sub load_kconfig_file {
#if the file exists, try to load it. #if the file exists, try to load it.
elsif ( -e "$input_file" ) { elsif ( -e "$input_file" ) {
#throw a warning if the file has already been loaded. #throw an error if the file has already been loaded.
if ( exists $loaded_files{$input_file} ) { if ( exists $loaded_files{$input_file} ) {
show_warning("'$input_file' sourced at $loadfile:$loadline was already loaded by $loaded_files{$input_file}"); show_error("'$input_file' sourced at $loadfile:$loadline was already loaded by $loaded_files{$input_file}");
} }
#load the file's contents and mark the file as loaded for checking later #load the file's contents and mark the file as loaded for checking later