Add fix option to INCLUDE_LINUX and ARCH_INCLUDE_LINUX checks to replace asm includes.
Macros of type: #include <asm/percpu.h> #include <asm/processor.h> are corrected to: #include <linux/percpu.h> #include <linux/processor.h> Signed-off-by: Dwaipayan Ray <[email protected]> --- Changes in v3: - Add --fix option to ARCH_INCLUDE_LINUX check Changes in v2: - Use \Q..\E quoting - Use @ as regex delimiter scripts/checkpatch.pl | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 7b086d1cd6c2..4aecc237ed38 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -5558,11 +5558,17 @@ sub process { my $asminclude = `grep -Ec "#include\\s+<asm/$file>" $root/$checkfile`; if ($asminclude > 0) { if ($realfile =~ m{^arch/}) { - CHK("ARCH_INCLUDE_LINUX", - "Consider using #include <linux/$file> instead of <asm/$file>\n" . $herecurr); + if (CHK("ARCH_INCLUDE_LINUX", + "Consider using #include <linux/$file> instead of <asm/$file>\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s@\Q<asm/$file>\E@<linux/$file>@; + } } else { - WARN("INCLUDE_LINUX", - "Use #include <linux/$file> instead of <asm/$file>\n" . $herecurr); + if (WARN("INCLUDE_LINUX", + "Use #include <linux/$file> instead of <asm/$file>\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s@\Q<asm/$file>\E@<linux/$file>@; + } } } } -- 2.27.0

