checkpatch: update checkpatch to warn about C99 type usage

Only in rare cases should we allow C99 types, so lets warn about it to
catch issues.

Change-Id: I2bacdd4ba98f88482e0b7acc0567ff1139e749bf
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
Kumar Gala 2017-04-21 10:53:05 -05:00
parent cc334c7273
commit a48e8790d3
2 changed files with 6 additions and 11 deletions

View file

@ -11,7 +11,6 @@
--ignore SPLIT_STRING
--ignore VOLATILE
--ignore CONFIG_EXPERIMENTAL
--ignore PREFER_KERNEL_TYPES
--ignore AVOID_EXTERNS
--ignore NETWORKING_BLOCK_COMMENT_STYLE
--ignore DATE_TIME

View file

@ -415,7 +415,7 @@ our $typeOtherOSTypedefs = qr{(?x:
u(?:nchar|short|int|long) # sysv
)};
our $typeKernelTypedefs = qr{(?x:
(?:__)?(?:u|s|be|le)(?:8|16|32|64)|
(?:__)?(?:u|s|be|le)(?:8|16|32|64)_t|
atomic_t
)};
our $typeTypedefs = qr{(?x:
@ -5547,21 +5547,17 @@ sub process {
"Using weak declarations can have unintended link defects\n" . $herecurr);
}
# check for c99 types like uint8_t used outside of uapi/
if ($realfile !~ m@\binclude/uapi/@ &&
$line =~ /\b($Declare)\s*$Ident\s*[=;,\[]/) {
# check for c99 types like uint8_t
if ($line =~ /\b($Declare)\s*$Ident\s*[=;,\[]/) {
my $type = $1;
if ($type =~ /\b($typeC99Typedefs)\b/) {
$type = $1;
my $kernel_type = 'u';
$kernel_type = 's' if ($type =~ /^_*[si]/);
$type =~ /(\d+)/;
$kernel_type .= $1;
if (CHK("PREFER_KERNEL_TYPES",
"Prefer kernel type '$kernel_type' over '$type'\n" . $herecurr) &&
$fix) {
$fixed[$fixlinenr] =~ s/\b$type\b/$kernel_type/;
}
$kernel_type .= $1.'_t';
WARN("PREFER_KERNEL_TYPES",
"Prefer kernel type '$kernel_type' over '$type'\n" . $herecurr)
}
}