19a98f50eSThomas Monjalon#! /bin/sh 2*80139e35SThomas Monjalon# SPDX-License-Identifier: BSD-3-Clause 3*80139e35SThomas Monjalon# Copyright 2015-2020 Mellanox Technologies, Ltd 49a98f50eSThomas Monjalon 59a98f50eSThomas Monjalon# Apply coccinelle transforms. 69a98f50eSThomas Monjalon 79a98f50eSThomas MonjalonSRCTREE=$(readlink -f $(dirname $0)/..) 89a98f50eSThomas MonjalonCOCCI=$SRCTREE/devtools/cocci 99a98f50eSThomas Monjalon[ -n "$SPATCH" ] || SPATCH=$(which spatch) 109a98f50eSThomas Monjalon 119a98f50eSThomas MonjalonPATCH_LIST="$@" 129a98f50eSThomas Monjalon[ -n "$PATCH_LIST" ] || PATCH_LIST=$(echo $COCCI/*.cocci) 139a98f50eSThomas Monjalon 149a98f50eSThomas Monjalon[ -x "$SPATCH" ] || ( 159a98f50eSThomas Monjalon echo "Coccinelle tools not installed." 169a98f50eSThomas Monjalon exit 1 179a98f50eSThomas Monjalon) 189a98f50eSThomas Monjalon 19ff37ca5dSThomas Monjalontmp=$(mktemp -t dpdk.cocci.XXX) 209a98f50eSThomas Monjalon 219a98f50eSThomas Monjalonfor c in $PATCH_LIST; do 229a98f50eSThomas Monjalon while true; do 239a98f50eSThomas Monjalon echo -n "Applying $c..." 249a98f50eSThomas Monjalon $SPATCH --sp-file $c -c --linux-spacing --very-quiet \ 259a98f50eSThomas Monjalon --include-headers --preprocess \ 269a98f50eSThomas Monjalon --in-place --dir $SRCTREE > $tmp 279a98f50eSThomas Monjalon if [ -s $tmp ]; then 289a98f50eSThomas Monjalon echo " changes applied, retrying." 299a98f50eSThomas Monjalon else 309a98f50eSThomas Monjalon echo " no change." 319a98f50eSThomas Monjalon break; 329a98f50eSThomas Monjalon fi 339a98f50eSThomas Monjalon done 349a98f50eSThomas Monjalondone 359a98f50eSThomas Monjalon 369a98f50eSThomas Monjalonrm -f $tmp 37