* [PATCH] checkpatch: Warn on uses of __constant_<foo> functions
[not found] ` <1392205783.1868.5.camel@joe-AO722>
@ 2014-02-12 12:46 ` Joe Perches
0 siblings, 0 replies; only message in thread
From: Joe Perches @ 2014-02-12 12:46 UTC (permalink / raw)
To: Andrew Morton, Andy Whitcroft; +Cc: Simon Wunderlich, LKML
Emit a warning when using any of these __constant_<foo> forms:
__constant_cpu_to_be[x]
__constant_cpu_to_le[x]
__constant_be[x]_to_cpu
__constant_le[x]_to_cpu
__constant_htons
__constant_ntohs
Using any of these outside of include/uapi/ isn't preferred
as using the function without __constant_ is identical when
the argument is a constant.
Signed-off-by: Joe Perches <joe@perches.com>
---
scripts/checkpatch.pl | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 464dcef..8a5c49b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3910,6 +3910,19 @@ sub process {
}
}
+# don't use __constant_<foo> functions outside of include/uapi/
+ if ($realfile !~ m@^include/uapi/@ &&
+ $line =~ /(__constant_(?:htons|ntohs|[bl]e(?:16|32|64)_to_cpu|cpu_to_[bl]e(?:16|32|64)))\s*\(/) {
+ my $constant_func = $1;
+ my $func = $constant_func;
+ $func =~ s/^__constant_//;
+ if (WARN("CONSTANT_CONVERSION",
+ "$constant_func should be $func\n" . $herecurr) &&
+ $fix) {
+ $fixed[$linenr - 1] =~ s/\b$constant_func\b/$func/g;
+ }
+ }
+
# prefer usleep_range over udelay
if ($line =~ /\budelay\s*\(\s*(\d+)\s*\)/) {
# ignore udelay's < 10, however
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-02-12 12:46 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <1392202386-8826-1-git-send-email-sw@simonwunderlich.de>
[not found] ` <1392202386-8826-4-git-send-email-sw@simonwunderlich.de>
[not found] ` <1392205783.1868.5.camel@joe-AO722>
2014-02-12 12:46 ` [PATCH] checkpatch: Warn on uses of __constant_<foo> functions Joe Perches
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®