Commit 8ed22cad authored by Andy Whitcroft's avatar Andy Whitcroft Committed by Linus Torvalds

checkpatch: pull out known acceptable typedefs

Within the type checker we have a number of common kernel types which must
be implemented as typedefs.  Pull those out so that we can use the same
expressions to trigger exclusions.
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 afbe8d28
...@@ -146,6 +146,11 @@ our $UTF8 = qr { ...@@ -146,6 +146,11 @@ our $UTF8 = qr {
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16 | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
}x; }x;
our $typeTypedefs = qr{(?x:
(?:__)?(?:u|s|be|le)(?:\d|\d\d)|
atomic_t
)};
our @typeList = ( our @typeList = (
qr{void}, qr{void},
qr{(?:unsigned\s+)?char}, qr{(?:unsigned\s+)?char},
...@@ -159,7 +164,6 @@ our @typeList = ( ...@@ -159,7 +164,6 @@ our @typeList = (
qr{float}, qr{float},
qr{double}, qr{double},
qr{bool}, qr{bool},
qr{(?:__)?(?:u|s|be|le)(?:\d|\d\d)},
qr{struct\s+$Ident}, qr{struct\s+$Ident},
qr{union\s+$Ident}, qr{union\s+$Ident},
qr{enum\s+$Ident}, qr{enum\s+$Ident},
...@@ -179,6 +183,7 @@ sub build_types { ...@@ -179,6 +183,7 @@ sub build_types {
(?:$Modifier\s+|const\s+)* (?:$Modifier\s+|const\s+)*
(?: (?:
(?:typeof|__typeof__)\s*\(\s*\**\s*$Ident\s*\)| (?:typeof|__typeof__)\s*\(\s*\**\s*$Ident\s*\)|
(?:$typeTypedefs\b)|
(?:${all}\b) (?:${all}\b)
) )
(?:\s+$Modifier|\s+const)* (?:\s+$Modifier|\s+const)*
...@@ -1589,6 +1594,7 @@ sub process { ...@@ -1589,6 +1594,7 @@ sub process {
if ($line =~ /\btypedef\s/ && if ($line =~ /\btypedef\s/ &&
$line !~ /\btypedef\s+$Type\s+\(\s*\*?$Ident\s*\)\s*\(/ && $line !~ /\btypedef\s+$Type\s+\(\s*\*?$Ident\s*\)\s*\(/ &&
$line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ && $line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ &&
$line !~ /\b$typeTypedefs\b/ &&
$line !~ /\b__bitwise(?:__|)\b/) { $line !~ /\b__bitwise(?:__|)\b/) {
WARN("do not add new typedefs\n" . $herecurr); WARN("do not add new typedefs\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