osmo-ci/lint/checkpatch/checkpatch_osmo.sh

49 lines
2.0 KiB
Bash
Raw Normal View History

#!/bin/sh -e
SCRIPT_DIR="$(dirname "$(realpath "$0")")"
# Excluded paths:
# * \.(ok|err)$: stdout and stderr of regression tests
# * ^lint/checkpatch/: so it does not warn about spelling errors in spelling.txt :)
# Ignored checks:
# * ASSIGN_IN_IF: not followed (e.g. 'if ((u8 = gsup_msg->cause))')
# * AVOID_EXTERNS: we do use externs
# * BLOCK_COMMENT_STYLE: we don't use a trailing */ on a separate line
# * CONSTANT_COMPARISON: not followed: "Comparisons should place the constant on the right side"
# * EMBEDDED_FUNCTION_NAME: often __func__ isn't used, arguably not much benefit in changing this when touching code
# * EXECUTE_PERMISSIONS: not followed, files need to be executable: git-version-gen, some in debian/
# * FILE_PATH_CHANGES: we don't use a MAINTAINERS file
# * FUNCTION_WITHOUT_ARGS: not followed: warns about func() instead of func(void)
# * GLOBAL_INITIALISERS: we initialise globals to NULL for talloc ctx (e.g. *tall_lapd_ctx = NULL)
# * IF_0: used intentionally
# * INITIALISED_STATIC: we use this, see also http://lkml.iu.edu/hypermail/linux/kernel/0808.1/2235.html
# * LINE_SPACING: we don't always put a blank line after declarations
# * REPEATED_WORD: false positives in doxygen descriptions (e.g. '\param[in] data Data passed through...')
# * SPDX_LICENSE_TAG: we don't place it on line 1
# * SPLIT_STRING: we do split long messages over multiple lines
# * STRING_FRAGMENTS: sometimes used intentionally to improve readability
$SCRIPT_DIR/checkpatch.pl \
--exclude '\.(ok|err)$' \
--exclude '^lint/checkpatch/' \
--ignore ASSIGN_IN_IF \
--ignore AVOID_EXTERNS \
--ignore BLOCK_COMMENT_STYLE \
--ignore CONSTANT_COMPARISON \
--ignore EMBEDDED_FUNCTION_NAME \
--ignore EXECUTE_PERMISSIONS \
--ignore FILE_PATH_CHANGES \
--ignore FUNCTION_WITHOUT_ARGS \
--ignore GLOBAL_INITIALISERS \
--ignore IF_0 \
--ignore INITIALISED_STATIC \
--ignore LINE_SPACING \
--ignore REPEATED_WORD \
--ignore SPDX_LICENSE_TAG \
--ignore SPLIT_STRING \
--ignore STRING_FRAGMENTS \
--max-line-length 120 \
--no-signoff \
--no-tree \
"$@"