summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xutil/lint/kconfig_lint21
-rw-r--r--util/lint/kconfig_lint_README1
2 files changed, 22 insertions, 0 deletions
diff --git a/util/lint/kconfig_lint b/util/lint/kconfig_lint
index adb42c8c3c..787ab6acba 100755
--- a/util/lint/kconfig_lint
+++ b/util/lint/kconfig_lint
@@ -210,6 +210,27 @@ sub check_for_ifdef {
}
}
}
+
+ my @collected_is_enabled;
+ if ($dont_use_git_grep) {
+ @collected_is_enabled =
+ `grep -Irn -- "[[:space:]]IS_ENABLED[[:space:]]*(.*)" | grep -v '$exclude_dirs_and_files' | grep -v "kconfig.h"`;
+ }
+ else {
+ @collected_is_enabled =
+ `git grep -In -- "[[:space:]]IS_ENABLED[[:space:]]*(.*)" | grep -v '$exclude_dirs_and_files' | grep -v "kconfig.h"`;
+ }
+
+ while ( my $line = shift @collected_is_enabled ) {
+ if ($line !~ /CONFIG_/ && $line =~ /^([^:]+):(\d+):.+IS_ENABLED\s*\(\s*(\w+)/ ) {
+ my $file = $1;
+ my $lineno = $2;
+ my $symbol = $3;
+ if ( ( exists $symbols{$symbol} ) ) {
+ show_error("IS_ENABLED missing CONFIG_ prefix on symbol '$symbol' at $file:$lineno.");
+ }
+ }
+ }
}
#-------------------------------------------------------------------------------
diff --git a/util/lint/kconfig_lint_README b/util/lint/kconfig_lint_README
index 9076f4ca41..3c638f5e10 100644
--- a/util/lint/kconfig_lint_README
+++ b/util/lint/kconfig_lint_README
@@ -93,5 +93,6 @@ Errors in coreboot source files:
defined in coreboot's version of Kconfig.
- The IS_ENABLED macro is only valid for bool symbols.
- The IS_ENABLED used on unknown CONFIG_ value, like an obsolete symbol.
+- The IS_ENABLED macro is used on a symbol without the CONFIG_ prefix.
TODO: check for choice entries at the top level