Skip to content

Commit

Permalink
checkpatch: update checkpatch to warn about C99 type usage
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
galak committed Apr 21, 2017
1 parent cc334c7 commit a48e879
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 11 deletions.
1 change: 0 additions & 1 deletion .checkpatch.conf
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
16 changes: 6 additions & 10 deletions scripts/checkpatch.pl
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@ sub hash_show_words {
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:
Expand Down Expand Up @@ -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)
}
}

Expand Down

0 comments on commit a48e879

Please sign in to comment.