Igor Opaniuk | 1c93c2b | 2016-11-03 13:27:28 +0200 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | DIR="${BASH_SOURCE%/*}" |
| 4 | |
Markus S. Wamser | 33977c0 | 2018-10-17 16:30:06 +0200 | [diff] [blame] | 5 | # if no CHECKPATCH is explicitly given by the environment, try to |
| 6 | # locate checkpatch.pl: first take the one from the path, then check |
| 7 | # for a local copy of the linux headers, finally try sources downloaded |
| 8 | # with OP-TEE (for QEMU) |
| 9 | if [ -z "$CHECKPATCH" ]; then |
| 10 | CHECKPATCH=$(command -v checkpatch.pl) |
| 11 | fi |
| 12 | if [ -z "$CHECKPATCH" ]; then |
| 13 | CHECKPATCH=$(find /usr/src/linux-headers* -name checkpatch.pl -print -quit) |
| 14 | fi |
| 15 | if [ -z "$CHECKPATCH" ]; then |
| 16 | CHECKPATCH=$(find "$PWD/../linux" -name checkpatch.pl -print -quit) |
| 17 | fi |
| 18 | |
Igor Opaniuk | 1c93c2b | 2016-11-03 13:27:28 +0200 | [diff] [blame] | 19 | source "$DIR/checkpatch_inc.sh" |
| 20 | |
| 21 | hash $CHECKPATCH 2>/dev/null || |
| 22 | { echo >&2 "Could not find checkpatch.pl, aborting"; exit 1; } |
| 23 | |
| 24 | usage() { |
| 25 | SCR=$(basename "$0") |
| 26 | echo "Usage: $SCR [--working] Check working area" |
Jerome Forissier | 849b17b | 2017-02-22 18:11:36 +0100 | [diff] [blame] | 27 | echo " $SCR <commit>... Check specific commit(s)" |
Igor Opaniuk | 1c93c2b | 2016-11-03 13:27:28 +0200 | [diff] [blame] | 28 | echo " $SCR --diff <commit1> <commit2> Check diff commit1...commit2" |
| 29 | echo " $SCR --cached Check staging area" |
| 30 | echo " $SCR --help This help" |
| 31 | exit 1 |
| 32 | } |
| 33 | |
| 34 | op=${1:---working} |
| 35 | case "$op" in |
| 36 | --cached) |
| 37 | echo "Checking staging area: " |
| 38 | checkstaging |
| 39 | ;; |
| 40 | --diff) |
| 41 | echo "Checking diff (diff $1...$2)" |
| 42 | checkdiff "$2" "$3" |
| 43 | ;; |
| 44 | --working) |
| 45 | echo "Checking working area: " |
| 46 | checkworking |
| 47 | ;; |
| 48 | --help|-h) |
| 49 | usage |
| 50 | ;; |
| 51 | *) |
Jerome Forissier | 849b17b | 2017-02-22 18:11:36 +0100 | [diff] [blame] | 52 | echo "Checking commit(s):" |
| 53 | for c in $*; do checkpatch $c; done |
Igor Opaniuk | 1c93c2b | 2016-11-03 13:27:28 +0200 | [diff] [blame] | 54 | ;; |
| 55 | |
| 56 | esac |