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