Skip to content

Commit

Permalink
checkpatch: pull out known acceptable typedefs
Browse files Browse the repository at this point in the history
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: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Andy Whitcroft authored and Linus Torvalds committed Oct 16, 2008
1 parent afbe8d2 commit 8ed22ca
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion scripts/checkpatch.pl
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,11 @@
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
}x;

our $typeTypedefs = qr{(?x:
(?:__)?(?:u|s|be|le)(?:\d|\d\d)|
atomic_t
)};

our @typeList = (
qr{void},
qr{(?:unsigned\s+)?char},
Expand All @@ -159,7 +164,6 @@
qr{float},
qr{double},
qr{bool},
qr{(?:__)?(?:u|s|be|le)(?:\d|\d\d)},
qr{struct\s+$Ident},
qr{union\s+$Ident},
qr{enum\s+$Ident},
Expand All @@ -179,6 +183,7 @@ sub build_types {
(?:$Modifier\s+|const\s+)*
(?:
(?:typeof|__typeof__)\s*\(\s*\**\s*$Ident\s*\)|
(?:$typeTypedefs\b)|
(?:${all}\b)
)
(?:\s+$Modifier|\s+const)*
Expand Down Expand Up @@ -1589,6 +1594,7 @@ sub process {
if ($line =~ /\btypedef\s/ &&
$line !~ /\btypedef\s+$Type\s+\(\s*\*?$Ident\s*\)\s*\(/ &&
$line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ &&
$line !~ /\b$typeTypedefs\b/ &&
$line !~ /\b__bitwise(?:__|)\b/) {
WARN("do not add new typedefs\n" . $herecurr);
}
Expand Down

0 comments on commit 8ed22ca

Please sign in to comment.