coreboot-kgpe-d16/util/lint/lint-007-checkpatch
Julius Werner 514a4bcb23 lint: checkpatch: Only exclude specific src/vendorcode/ subdirectories
Some of the src/vendorcode/ directories are used to import a whole
codebase from somewhere else which uses a completely different coding
style. For those directories, excluding them from checkpatch makes
sense. However, other directories are simply implementing
vendor-specific extensions that were written by coreboot developers
specifically for coreboot in coreboot's coding style. Those directories
should be covered by checkpatch.

This patch narrows the existing blanket exception of src/vendorcode/ to
the amd, cavium, intel and mediatek directories (which actually include
large amounts of foreign source). The eltan, google and siemens
directories (which seem to contain code specifically written for
coreboot) will now be covered by checkpatch.

Signed-off-by: Julius Werner <jwerner@chromium.org>
Change-Id: I1feaba37c469714217fff4d160e595849e0230b9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51827
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-04-06 16:04:41 +00:00

44 lines
1.1 KiB
Bash
Executable file

#!/usr/bin/env sh
#
# SPDX-License-Identifier: GPL-2.0-only
# DESCR: Checkpatch on .c, .h, & Kconfig files in the tree
LC_ALL=C export LC_ALL
# GNU BRE syntax list of files to examine
INCLUDED_FILES='.*\.[ch]\|Kconfig.*$'
EXCLUDED_DIRS="^payloads/libpayload/util/kconfig\|\
^payloads/libpayload/curses/PDCurses\|\
^util/crossgcc/patches\|\
^util/inteltool\|\
^util/kconfig\|\
^util/superiotool\|\
^Documentation"
opts="--max-line-length 96"
# default: test src and util
if [ "$1" = "" ]; then
INCLUDED_DIRS="src util tests"
# special mode: take diff from stdin, but exclude the dirs
elif [ "$1" = "diff" ]; then
args=$( echo $EXCLUDED_DIRS | \
sed -e 's,\\|, ,g' -e 's,\^,--exclude=,g' )
util/lint/checkpatch.pl --quiet --no-signoff $opts $args -
exit $?
# Space separated list of directories to test
else
INCLUDED_DIRS="$1"
fi
# We want word splitting here, so disable the shellcheck warnings
# shellcheck disable=SC2046,SC2086
FILELIST=$( git ls-files $INCLUDED_DIRS | \
grep $INCLUDED_FILES | \
grep -v $EXCLUDED_DIRS )
for FILE in $FILELIST; do
util/lint/checkpatch.pl --show-types --file --quiet $opts "$FILE"
done