2015-02-11 01:53:42 +01:00
|
|
|
#!/bin/sh
|
|
|
|
# This file is part of the coreboot project.
|
|
|
|
#
|
|
|
|
# Copyright 2015 Google Inc.
|
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
# the Free Software Foundation; version 2 of the License.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
2016-08-29 23:40:57 +02:00
|
|
|
# DESCR: Checkpatch on .c, .h, & Kconfig files in the tree
|
2015-02-11 01:53:42 +01:00
|
|
|
|
|
|
|
LC_ALL=C export LC_ALL
|
2016-08-29 23:40:57 +02:00
|
|
|
|
|
|
|
# GNU BRE syntax list of files to examine
|
|
|
|
INCLUDED_FILES='.*\.[ch]\|Kconfig.*$'
|
|
|
|
|
|
|
|
EXCLUDED_DIRS="^payloads/libpayload/util/kconfig\|\
|
|
|
|
^payloads/libpayload/curses/PDCurses\|\
|
2018-05-30 15:54:08 +02:00
|
|
|
^util/crossgcc/patches\|\
|
2019-02-12 12:53:07 +01:00
|
|
|
^util/inteltool\|\
|
2016-08-29 23:40:57 +02:00
|
|
|
^util/kconfig\|\
|
2018-08-19 11:54:57 +02:00
|
|
|
^util/superiotool\|\
|
2017-04-06 05:29:06 +02:00
|
|
|
^src/vendorcode\|\
|
|
|
|
^Documentation"
|
2016-08-29 23:40:57 +02:00
|
|
|
|
2018-05-30 15:54:08 +02:00
|
|
|
# default: test src and util
|
2016-08-29 23:40:57 +02:00
|
|
|
if [ "$1" = "" ]; then
|
|
|
|
INCLUDED_DIRS="src util"
|
2018-05-30 15:54:08 +02:00
|
|
|
# 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' )
|
2019-03-15 23:37:11 +01:00
|
|
|
util/lint/checkpatch.pl --quiet --no-signoff $args -
|
2018-05-30 15:54:08 +02:00
|
|
|
exit $?
|
|
|
|
# Space separated list of directories to test
|
2016-08-29 23:40:57 +02:00
|
|
|
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
|
2019-03-15 23:37:11 +01:00
|
|
|
util/lint/checkpatch.pl --show-types --file --quiet "$FILE"
|
2016-08-29 23:40:57 +02:00
|
|
|
done
|