12bfe3f2eSlogwang#! /bin/sh 2*4418919fSjohnjiang# SPDX-License-Identifier: BSD-3-Clause 3*4418919fSjohnjiang# Copyright 2015-2020 Mellanox Technologies, Ltd 42bfe3f2eSlogwang 52bfe3f2eSlogwang# Apply coccinelle transforms. 62bfe3f2eSlogwang 72bfe3f2eSlogwangSRCTREE=$(readlink -f $(dirname $0)/..) 82bfe3f2eSlogwangCOCCI=$SRCTREE/devtools/cocci 92bfe3f2eSlogwang[ -n "$SPATCH" ] || SPATCH=$(which spatch) 102bfe3f2eSlogwang 112bfe3f2eSlogwangPATCH_LIST="$@" 122bfe3f2eSlogwang[ -n "$PATCH_LIST" ] || PATCH_LIST=$(echo $COCCI/*.cocci) 132bfe3f2eSlogwang 142bfe3f2eSlogwang[ -x "$SPATCH" ] || ( 152bfe3f2eSlogwang echo "Coccinelle tools not installed." 162bfe3f2eSlogwang exit 1 172bfe3f2eSlogwang) 182bfe3f2eSlogwang 19d30ea906Sjfb8856606tmp=$(mktemp -t dpdk.cocci.XXX) 202bfe3f2eSlogwang 212bfe3f2eSlogwangfor c in $PATCH_LIST; do 222bfe3f2eSlogwang while true; do 232bfe3f2eSlogwang echo -n "Applying $c..." 242bfe3f2eSlogwang $SPATCH --sp-file $c -c --linux-spacing --very-quiet \ 252bfe3f2eSlogwang --include-headers --preprocess \ 262bfe3f2eSlogwang --in-place --dir $SRCTREE > $tmp 272bfe3f2eSlogwang if [ -s $tmp ]; then 282bfe3f2eSlogwang echo " changes applied, retrying." 292bfe3f2eSlogwang else 302bfe3f2eSlogwang echo " no change." 312bfe3f2eSlogwang break; 322bfe3f2eSlogwang fi 332bfe3f2eSlogwang done 342bfe3f2eSlogwangdone 352bfe3f2eSlogwang 362bfe3f2eSlogwangrm -f $tmp 37