summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2016-05-20 20:04:00 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-05-20 20:58:30 -0400
commit2d6327459ec5e63a89b12945f483f6d7378a8839 (patch)
tree94c06449f8c37ad6ae82ce58c45c38fb7eebb004
parentfff7fb0b2d908dec779783d8eaf3d7725230f75e (diff)
checkpatch: add PREFER_IS_ENABLED test
Using #if defined CONFIG_<FOO> || defined CONFIG_<FOO>_MODULE is more verbose than necessary and IS_ENABLED(CONFIG_<FOO>) is preferred. So add a test and a message for it. --fix it to if desired. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rwxr-xr-xscripts/checkpatch.pl10
1 files changed, 10 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index d574d13ba963..eb8f88787e81 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5637,6 +5637,16 @@ sub process {
5637 } 5637 }
5638 } 5638 }
5639 5639
5640# check for #if defined CONFIG_<FOO> || defined CONFIG_<FOO>_MODULE
5641 if ($line =~ /^\+\s*#\s*if\s+defined(?:\s*\(?\s*|\s+)(CONFIG_[A-Z_]+)\s*\)?\s*\|\|\s*defined(?:\s*\(?\s*|\s+)\1_MODULE\s*\)?\s*$/) {
5642 my $config = $1;
5643 if (WARN("PREFER_IS_ENABLED",
5644 "Prefer IS_ENABLED(<FOO>) to CONFIG_<FOO> || CONFIG_<FOO>_MODULE\n" . $herecurr) &&
5645 $fix) {
5646 $fixed[$fixlinenr] = "\+#if IS_ENABLED($config)";
5647 }
5648 }
5649
5640# check for case / default statements not preceded by break/fallthrough/switch 5650# check for case / default statements not preceded by break/fallthrough/switch
5641 if ($line =~ /^.\s*(?:case\s+(?:$Ident|$Constant)\s*|default):/) { 5651 if ($line =~ /^.\s*(?:case\s+(?:$Ident|$Constant)\s*|default):/) {
5642 my $has_break = 0; 5652 my $has_break = 0;