Commit 48012058 authored by Andy Whitcroft's avatar Andy Whitcroft Committed by Linus Torvalds

checkpatch: DEFINE_ macros are real definitions for exports

When we want to confirm an export is directly after its definition we need
to allow for DEFINE_ style macros.  Add these to the execeptions.
Refactor the exceptions.
Signed-off-by: default avatarAndy Whitcroft <apw@shadowen.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent bf30d6ed
...@@ -1573,13 +1573,14 @@ sub process { ...@@ -1573,13 +1573,14 @@ sub process {
if (($line =~ /EXPORT_SYMBOL.*\((.*)\)/) || if (($line =~ /EXPORT_SYMBOL.*\((.*)\)/) ||
($line =~ /EXPORT_UNUSED_SYMBOL.*\((.*)\)/)) { ($line =~ /EXPORT_UNUSED_SYMBOL.*\((.*)\)/)) {
my $name = $1; my $name = $1;
if (($prevline !~ /^}/) && if ($prevline !~ /(?:
($prevline !~ /^\+}/) && ^.}|
($prevline !~ /^ }/) && ^.DEFINE_$Ident\(\Q$name\E\)|
($prevline !~ /^.DECLARE_$Ident\(\Q$name\E\)/) && ^.DECLARE_$Ident\(\Q$name\E\)|
($prevline !~ /^.LIST_HEAD\(\Q$name\E\)/) && ^.LIST_HEAD\(\Q$name\E\)|
($prevline !~ /^.$Type\s*\(\s*\*\s*\Q$name\E\s*\)\s*\(/) && ^.$Type\s*\(\s*\*\s*\Q$name\E\s*\)\s*\(|
($prevline !~ /\b\Q$name\E(?:\s+$Attribute)?\s*(?:;|=|\[)/)) { \b\Q$name\E(?:\s+$Attribute)?\s*(?:;|=|\[)
)/x) {
WARN("EXPORT_SYMBOL(foo); should immediately follow its function/variable\n" . $herecurr); WARN("EXPORT_SYMBOL(foo); should immediately follow its function/variable\n" . $herecurr);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment