#
# SPDX-License-Identifier: BSD-3-Clause
# SPDX-FileCopyrightText: Copyright TF-RMM Contributors.
#

#
# Configure how the Linux checkpatch script should be invoked in the context of
# the RMM source tree.
#

# This is not Linux so don't expect a Linux tree!
--no-tree

# The Linux kernel expects the SPDX license tag in the first line of each file.
# We don't follow this yet in the RMM.
# TODO: Temporarily ignore SPDX license tag
--ignore SPDX_LICENSE_TAG

# This clarifes the lines indications in the report.
#
# E.g.:
# Without this option, we have the following output:
#      #333: FILE: drivers/pl011/src/pl011.c:42:
# So we have 2 lines indications (333 and 42), which is confusing.
# We only care about the position in the source file.
#
# With this option, it becomes:
#      drivers/pl011/src/pl011.c:42:
--showfile

# Don't show some messages like the list of ignored types or the suggestion to
# use "--fix" or report changes to the maintainers.
--quiet

#
# Ignore the following message types, as they don't necessarily make sense in
# the context of the RMM.
#

# COMPLEX_MACRO generates false positives.
--ignore COMPLEX_MACRO

# Commit messages might contain a Gerrit Change-Id.
--ignore GERRIT_CHANGE_ID

# Do not check the format of commit messages, as Gerrit's merge commits do not
# preserve it.
--ignore GIT_COMMIT_ID

# FILE_PATH_CHANGES reports this kind of message:
# "added, moved or deleted file(s), does MAINTAINERS need updating?"
# We do not use this MAINTAINERS file process in RMM.
--ignore FILE_PATH_CHANGES

# NEW_TYPEDEFS reports this kind of messages:
# "do not add new typedefs"
# We allow adding new typedefs in RMM.
--ignore NEW_TYPEDEFS

# Avoid "Does not appear to be a unified-diff format patch" message
--ignore NOT_UNIFIED_DIFF

# PREFER_KERNEL_TYPES reports this kind of messages (when using --strict):
# "Prefer kernel type 'u32' over 'uint32_t'"
--ignore PREFER_KERNEL_TYPES

# COMPARISON_TO_NULL reports this kind of messages (when using --strict):
# Comparison to NULL could be written ""
--ignore COMPARISON_TO_NULL

# UNNECESSARY_PARENTHESES reports this kind of messages (when using --strict):
# Unnecessary parentheses around ""
--ignore UNNECESSARY_PARENTHESES

# RMM build uses __DATE__ and __TIME__ macros to print build timestamp
# Ignore ERROR like:
# "Use of the '__DATE__' macro makes the build non-deterministic"
--ignore DATE_TIME

# Do not allow C99 // comments
--ignore C99_COMMENT_TOLERANCE
