CheckPatch: Add tfm_type_defs config file
New types defined in TF-M codebase cannot be recognized in CheckPatch,
which will lead to some unexpected errors and get per-patch job blocked.
Add tfm_type_defs config file to list new types defined in TF-M,
so that CheckPatch can recognize them correctly.
Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: I7c91b83bda8c6a30e4d85acb1c7ff6db85dc2464
diff --git a/checkpatch/checkpatch.conf b/checkpatch/checkpatch.conf
index d782cfc..ca761f5 100644
--- a/checkpatch/checkpatch.conf
+++ b/checkpatch/checkpatch.conf
@@ -27,3 +27,4 @@
--ignore PREFER_ALIGNED
--ignore PREFER_SECTION
--show-types
+--typedefsfile TFM_TYPE_DEF_FILE
diff --git a/checkpatch/tfm_type_defs.txt b/checkpatch/tfm_type_defs.txt
new file mode 100644
index 0000000..3a7bfa4
--- /dev/null
+++ b/checkpatch/tfm_type_defs.txt
@@ -0,0 +1,9 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+psa_invec
+psa_outvec
diff --git a/run-checkpatch.sh b/run-checkpatch.sh
index 1ca32e4..5a8d247 100755
--- a/run-checkpatch.sh
+++ b/run-checkpatch.sh
@@ -280,9 +280,15 @@
#Convert output file name to full path
OUTPUT_FILE_PATH=$(readlink -f "$OUTPUT_FILE_PATH")
+# Convert TF-M specific type defs file to full path
+TFM_TYPE_DEF_FILE=$CHECKPATCH_PATH"/tfm_type_defs.txt"
+
+# Prepare CheckPatch config file
+CHECKPATCH_CONFG_FILENAME=$CHECKPATCH_PATH_DEF"/checkpatch.conf"
+sed -i "s#TFM_TYPE_DEF_FILE#$TFM_TYPE_DEF_FILE#g" $CHECKPATCH_CONFG_FILENAME
+
# Create checkpatch command
CHECKPATCH_APP=$CHECKPATCH_PATH"/checkpatch.pl"
-CHECKPATCH_CONFG_FILENAME=$CHECKPATCH_PATH_DEF"/checkpatch.conf"
CHECKPATCH_CMD=$CHECKPATCH_APP" $(grep -o '^[^#]*' $CHECKPATCH_CONFG_FILENAME)"
# Check if checkpatch is present