Re: [PATCH 1/2] coccicheck: add M= option to control which dir isprocessed

From: Greg Dietsche
Date: Wed Jun 08 2011 - 15:00:49 EST




On 06/07/2011 10:29 PM, Greg Dietsche wrote:
Examples:
make coccicheck M=drivers/net/wireless/
make coccicheck SUBDIRS=drivers/net/wireless/

Signed-off-by: Greg Dietsche<Gregory.Dietsche@xxxxxxx>
---
scripts/coccicheck | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/scripts/coccicheck b/scripts/coccicheck
index 1bb1a1b..6f08efa 100755
--- a/scripts/coccicheck
+++ b/scripts/coccicheck
@@ -10,13 +10,22 @@ if [ "$C" = "1" -o "$C" = "2" ]; then
# OPTIONS=$*

# Workaround for Coccinelle< 0.2.3
- FLAGS="-I $srctree/include -very_quiet"
+ if [ "$KBUILD_EXTMOD" = "" ] ; then
+ FLAGS="-I $srctree/include -very_quiet"
+ else
+ echo 'M= is only supported for Coccinelle>= 0.2.3'
+ exit 1
+ fi
shift $(( $# - 1 ))
OPTIONS=$1
else
ONLINE=0
FLAGS="-very_quiet"
- OPTIONS="-dir $srctree"
+ if [ "$KBUILD_EXTMOD" = "" ] ; then
+ OPTIONS="-dir $srctree"
+ else
+ OPTIONS="-dir $KBUILD_EXTMOD"
So far I've found one bug after reading Nicolas's comments on the other thread. In order to have the diffs print file names correctly, I definitely need to update my patch to do this:

+ OPTIONS="-dir $KBUILD_EXTMOD -patch $srctree"

Also, do I need to tell cocci where the includes are? Based on my somewhat limited knowledge and testing, I'm not sure... but so far the tests seem to work without it. If we really do need to tell it about the includes, then the line should read:

+ OPTIONS="-dir $KBUILD_EXTMOD -patch $srctree -I $srctree/include"



+ fi
fi

if [ ! -x "$SPATCH" ]; then

Greg

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/