History

checkpatch: warn on uses of __constant_<foo> functions

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.

Joe Perches committed 12 years ago

Commit fbdb8131 parent 24358801 file · +13 −0Browse files

Showing the changes to scripts (1 of 1 file). Show all

Unified · Split

scripts/checkpatch.pl+13−0
@@ -3931,6 +3931,19 @@ sub process { · 3930 unmodified lines
3931 }3931 }
3932 }3932 }
3933 3933
3934# don't use __constant_<foo> functions outside of include/uapi/
3935 if ($realfile !~ m@^include/uapi/@ &&
3936 $line =~ /(__constant_(?:htons|ntohs|[bl]e(?:16|32|64)_to_cpu|cpu_to_[bl]e(?:16|32|64)))\s*\(/) {
3937 my $constant_func = $1;
3938 my $func = $constant_func;
3939 $func =~ s/^__constant_//;
3940 if (WARN("CONSTANT_CONVERSION",
3941 "$constant_func should be $func\n" . $herecurr) &&
3942 $fix) {
3943 $fixed[$linenr - 1] =~ s/\b$constant_func\b/$func/g;
3944 }
3945 }
3946
3934# prefer usleep_range over udelay3947# prefer usleep_range over udelay
3935 if ($line =~ /\budelay\s*\(\s*(\d+)\s*\)/) {3948 if ($line =~ /\budelay\s*\(\s*(\d+)\s*\)/) {
3936 my $delay = $1;3949 my $delay = $1;