1#
2# SPDX-License-Identifier: BSD-3-Clause
3# SPDX-FileCopyrightText: Copyright TF-RMM Contributors.
4#
5
6#
7# Configure how the Linux checkpatch script should be invoked in the context of
8# the RMM source tree.
9#
10
11# This is not Linux so don't expect a Linux tree!
12--no-tree
13
14# The Linux kernel expects the SPDX license tag in the first line of each file.
15# We don't follow this yet in the RMM.
16# TODO: Temporarily ignore SPDX license tag
17--ignore SPDX_LICENSE_TAG
18
19# This clarifes the lines indications in the report.
20#
21# E.g.:
22# Without this option, we have the following output:
23#      #333: FILE: drivers/pl011/src/pl011.c:42:
24# So we have 2 lines indications (333 and 42), which is confusing.
25# We only care about the position in the source file.
26#
27# With this option, it becomes:
28#      drivers/pl011/src/pl011.c:42:
29--showfile
30
31# Don't show some messages like the list of ignored types or the suggestion to
32# use "--fix" or report changes to the maintainers.
33--quiet
34
35#
36# Ignore the following message types, as they don't necessarily make sense in
37# the context of the RMM.
38#
39
40# COMPLEX_MACRO generates false positives.
41--ignore COMPLEX_MACRO
42
43# Commit messages might contain a Gerrit Change-Id.
44--ignore GERRIT_CHANGE_ID
45
46# Do not check the format of commit messages, as Gerrit's merge commits do not
47# preserve it.
48--ignore GIT_COMMIT_ID
49
50# FILE_PATH_CHANGES reports this kind of message:
51# "added, moved or deleted file(s), does MAINTAINERS need updating?"
52# We do not use this MAINTAINERS file process in RMM.
53--ignore FILE_PATH_CHANGES
54
55# NEW_TYPEDEFS reports this kind of messages:
56# "do not add new typedefs"
57# We allow adding new typedefs in RMM.
58--ignore NEW_TYPEDEFS
59
60# Avoid "Does not appear to be a unified-diff format patch" message
61--ignore NOT_UNIFIED_DIFF
62
63# PREFER_KERNEL_TYPES reports this kind of messages (when using --strict):
64# "Prefer kernel type 'u32' over 'uint32_t'"
65--ignore PREFER_KERNEL_TYPES
66
67# COMPARISON_TO_NULL reports this kind of messages (when using --strict):
68# Comparison to NULL could be written ""
69--ignore COMPARISON_TO_NULL
70
71# UNNECESSARY_PARENTHESES reports this kind of messages (when using --strict):
72# Unnecessary parentheses around ""
73--ignore UNNECESSARY_PARENTHESES
74
75# RMM build uses __DATE__ and __TIME__ macros to print build timestamp
76# Ignore ERROR like:
77# "Use of the '__DATE__' macro makes the build non-deterministic"
78--ignore DATE_TIME
79
80# Do not allow C99 // comments
81--ignore C99_COMMENT_TOLERANCE
82