coreboot-kgpe-d16/util
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
..
abuild abuild: add a command line parameter for junit filename 2015-10-15 12:21:19 +00:00
acpi Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
amdtools Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
arm_boot_tools/mksunxiboot arm_boot_tools: Add 'b' to fopen flags for Windows compatibility 2014-12-19 18:55:34 +01:00
autoport gma ACPI: Make brightness levels a per board setting 2015-10-22 23:01:36 +02:00
bimgtool bimgtool: initialize data header 2015-06-12 23:16:01 +02:00
board_status Revert "Remove sandybridge and ivybridge FSP code path" 2015-10-22 21:51:01 +02:00
broadcom secimage: Use libz's crc32 function 2015-08-09 12:34:24 +02:00
cbfstool cbfstool: extract rmodules as ELFs properly 2015-10-29 17:01:03 +01:00
cbmem util: Update makefiles for junit testing 2015-10-24 10:55:45 +02:00
crossgcc buildgcc: Fix the binutils-no-doc patch with 2.25 2015-10-05 17:22:41 +00:00
dtd_parser Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
ectool util: Update makefiles for junit testing 2015-10-24 10:55:45 +02:00
exynos exynos: Install the BL1 and set the checksum in the Makefile. 2014-09-09 20:01:18 +02:00
fletcher util/fletcher: fix debug option parsing 2014-10-18 14:45:42 +02:00
genbuild_h genbuild_h: Add Mac OS to case of "data -r" 2015-09-10 02:14:04 +00:00
genprof util/genprof: improve handling of command line arguments 2014-08-12 09:02:44 +02:00
gitconfig gitconfig/rebase.sh: adapt default branch name 2015-08-28 18:41:21 +00:00
ifdfake ifdfake: allow "base+size" description of regions 2015-09-21 13:01:22 +00:00
ifdtool ifdtool: Properly set + decode flmstr regs for IFD v2 2015-09-17 14:17:31 +00:00
inteltool util: Update makefiles for junit testing 2015-10-24 10:55:45 +02:00
intelvbttool intelvbttool: Add Makefile 2015-10-24 00:27:18 +02:00
ipqheader Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
k8resdump Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
kconfig kconfig: fix build for xconfig, too 2015-10-01 20:14:13 +00:00
lint lint: Add Kconfig / Kconfig symbol lint tool 2015-10-29 17:05:08 +01:00
msrtool Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
nvidia nvidia/cbootimage: update to 1.5 2015-04-25 12:16:58 +02:00
nvramtool util: Update makefiles for junit testing 2015-10-24 10:55:45 +02:00
optionlist Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
release release: add release script 2015-07-16 17:40:42 +02:00
rockchip add make_idb.py & update bootblock 2015-03-24 15:24:52 +01:00
romcc Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
sconfig Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
scripts MAINTAINERS: Add script to test database and find maintainers 2015-10-23 01:47:39 +02:00
showdevicetree Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
spkmodem_recv Add spkmodem receiver 2013-06-12 05:18:24 +02:00
superiotool util: Update makefiles for junit testing 2015-10-24 10:55:45 +02:00
uio_usbdebug Remove address from GPLv2 headers 2015-05-21 20:50:25 +02:00
vgabios vgabios: fix compilation after x86emu changes 2015-10-25 21:33:32 +01:00
viatool util: Update makefiles for junit testing 2015-10-24 10:55:45 +02:00
xcompile arm64: xcompile: Add support for A53 erratum 843419 2015-08-28 06:46:09 +00:00