X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=devtools%2Fcheckpatches.sh;h=560e6ce93c6333215981baa6ebcb67e0ca7cfaa2;hb=441717b92c2a22021b7a38c43788897a09f23b6d;hp=6a01b39c896f2738ba05c1ff061afba310acc7e0;hpb=ee2b25c85a027af658ff50f33d737716d6350b90;p=dpdk.git diff --git a/devtools/checkpatches.sh b/devtools/checkpatches.sh index 6a01b39c89..560e6ce93c 100755 --- a/devtools/checkpatches.sh +++ b/devtools/checkpatches.sh @@ -6,6 +6,7 @@ # - DPDK_CHECKPATCH_PATH # - DPDK_CHECKPATCH_CODESPELL # - DPDK_CHECKPATCH_LINE_LENGTH +# - DPDK_CHECKPATCH_OPTIONS . $(dirname $(readlink -e $0))/load-devel-config VALIDATE_NEW_API=$(dirname $(readlink -e $0))/check-symbol-change.sh @@ -33,6 +34,7 @@ PREFER_KERNEL_TYPES,BIT_MACRO,CONST_STRUCT,\ SPLIT_STRING,LONG_LINE_STRING,\ LINE_SPACING,PARENTHESIS_ALIGNMENT,NETWORKING_BLOCK_COMMENT_STYLE,\ NEW_TYPEDEFS,COMPARISON_TO_NULL" +options="$options $DPDK_CHECKPATCH_OPTIONS" clean_tmp_files() { if echo $tmpinput | grep -q '^checkpatches\.' ; then @@ -79,6 +81,36 @@ check_forbidden_additions() { # return $res } +check_experimental_tags() { # + res=0 + + cat "$1" |awk ' + BEGIN { + current_file = ""; + ret = 0; + } + /^+++ b\// { + current_file = $2; + } + /^+.*__rte_experimental/ { + if (current_file ~ ".c$" ) { + print "Please only put __rte_experimental tags in " \ + "headers ("current_file")"; + ret = 1; + } + if ($1 != "+__rte_experimental" || $2 != "") { + print "__rte_experimental must appear alone on the line" \ + " immediately preceding the return type of a function." + ret = 1; + } + } + END { + exit ret; + }' || res=1 + + return $res +} + number=0 range='origin/master..' quiet=false @@ -151,6 +183,14 @@ check () { # ret=1 fi + ! $verbose || printf '\nChecking __rte_experimental tags:\n' + report=$(check_experimental_tags "$tmpinput") + if [ $? -ne 0 ] ; then + $headline_printed || print_headline "$3" + printf '%s\n' "$report" + ret=1 + fi + clean_tmp_files [ $ret -eq 0 ] && return 0