coreboot-kgpe-d16/util/lint
Martin Roth bcaaad1c55 lint: Add Kconfig / Kconfig symbol lint tool
This is a tool to help identify issues in coreboot's Kconfig structure
and in how the Kconfig symbols are used in the coreboot codebase.

It identifies a number of issues:
- #ifdef used on Kconfig symbol of type bool, hex, or int.  These are
always defined.
- #define CONFIG_ in the coreboot code - these should be reserved
for Kconfig symbols.
- Redefinition of Kconfig symbols in the code.
- Use of IS_ENABLED() on non-bool kconfig symbols.
- Use of IS_ENABLED() on values that are not kconfig symbols.
- Attempts to find default values that will not set anything
because of earlier default settings.  This needs to be expanded
significantly.
- Kconfig expressions using symbols which are not defined.
- Kconfig symbols that are defined but not used anywhere in the
Kconfig structure or coreboot code.
- Kconfig keywords used incorrectly.
- Whitespace issues
- Kconfig 'source' keyword issues
-- sourcing non-existant directories
-- sourcing Kconfig files multiple times
-- sourcing non-existent files
-- Kconfig files in the codebase that are never sourced

Additionally, it can be used to help debug the Kconfig tree
by putting all the files together into a single file with
their source locations listed.

Run from the coreboot directory:
util/lint/kconfig_lint

Change-Id: Ia53b366461698d949f17502e99265c1f3f3b1443
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: http://review.coreboot.org/12088
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2015-10-29 17:05:08 +01:00
..
checkpatch.pl checkpatch: fine tune checks 2015-05-08 21:19:35 +02:00
kconfig_lint lint: Add Kconfig / Kconfig symbol lint tool 2015-10-29 17:05:08 +01:00
lint lint: Fix shellcheck warnings, add comments 2015-10-17 06:16:49 +00:00
lint-000-license-headers Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
lint-001-no-global-config-in-romstage Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
lint-006-checkpatch lint/gitconfig: Enable checkpatch.pl checking of commits 2015-07-17 18:42:50 +02:00
lint-stable-003-whitespace lint: don't check for whitespace in jpeg images 2015-10-28 19:15:25 +01:00
lint-stable-004-style-labels Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
lint-stable-005-board-status Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
lint-stable-006-board-name lint: Add check for new board name scheme 2015-04-18 08:31:36 +02:00
remccoms3.sed Remove whitespace. 2012-02-17 19:04:31 +01:00
spelling.txt Add Linux kernel's checkpatch.pl script 2015-02-11 19:53:53 +01:00