[PATCH V2] checkpatch: don't ask for asm/file.h to linux/file.h unconditionally

From: Fabian Frederick
Date: Tue Mar 31 2015 - 15:07:12 EST


Currently checkpatch warns when asm/file.h is included and linux/file.h
exists. That conversion can be made when linux/file.h includes asm/file.h
which is not always the case.(See signal.h)

Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
---
V2:
Apply suggestions by Joe Perches:
-Remove superfluous -i in grep
-Use $root to make checkpatch callable from anywhere
-Process all include cases.

scripts/checkpatch.pl | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index d54a814..9e70cd7 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -4242,13 +4242,16 @@ sub process {
}
}

-#warn if <asm/foo.h> is #included and <linux/foo.h> is available (uses RAW line)
+# warn if <asm/foo.h> is #included and <linux/foo.h> is available and includes
+# itself <asm/foo.h> (uses RAW line)
if ($tree && $rawline =~ m{^.\s*\#\s*include\s*\<asm\/(.*)\.h\>}) {
my $file = "$1.h";
my $checkfile = "include/linux/$file";
+ my $asminclude = `grep -Ec "#include\\s+<asm/$file>" $root/$checkfile`;
if (-f "$root/$checkfile" &&
$realfile ne $checkfile &&
- $1 !~ /$allowed_asm_includes/)
+ $1 !~ /$allowed_asm_includes/ &&
+ $asminclude > 0 )
{
if ($realfile =~ m{^arch/}) {
CHK("ARCH_INCLUDE_LINUX",
--
1.9.1

--
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/