#!/usr/bin/perl my $cmd=shift; if ($cmd) { $cmd="diff -upr /dev/null $cmd"; } else { $cmd="hg diff"; } $checkpatch=$ENV{CHECKPATCH}; if (!$checkpatch) { $checkpatch="/lib/modules/`uname -r`/build/scripts/checkpatch.pl"; } my $cp_version; open IN,"$checkpatch|"; while () { tr/A-Z/a-z/; if (m/version\s*:\s*([\d\.]+)/) { $cp_version = $1; } } close IN; my $intree_checkpatch = "scripts/checkpatch.pl --no-tree"; if (!open IN,"$intree_checkpatch|") { $intree_checkpatch = "v4l/".$intree_checkpatch; open IN,"$intree_checkpatch|"; } while () { tr/A-Z/a-z/; if (m/version\s*:\s*([\d\.]+)/) { if ($1 > $cp_version) { print "# WARNING: $checkpatch version $cp_version is\n" ."# older than $intree_checkpatch version" ." $1.\n# Using in-tree one.\n#\n"; $cp_version = $1; $checkpatch = $intree_checkpatch; } } } close IN; open IN,"$cmd | $checkpatch -q --nosignoff --emacs -|"; while () { s|#[\d]+:\s*FILE:\s*|../|; print "$_"; } close IN;