checkpatch: allow optional shorter config descriptions

This script is used by many other projects, and in some of them the
requirement of at least 4 line long description for all Kconfig items is
excessive.  This patch adds a command line option to control the required
minimum length.

Tested running this script over a patch including a two line config
description.  The script generated a warning when invoked as is, and did
not generate it when invoked with --min-conf-desc-length=2.

Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Acked-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Vadim Bendebury 2014-10-13 15:51:48 -07:00 committed by Linus Torvalds
parent de4c924c26
commit 56193274ef
1 changed files with 7 additions and 2 deletions

View File

@ -43,6 +43,7 @@ my $configuration_file = ".checkpatch.conf";
my $max_line_length = 80; my $max_line_length = 80;
my $ignore_perl_version = 0; my $ignore_perl_version = 0;
my $minimum_perl_version = 5.10.0; my $minimum_perl_version = 5.10.0;
my $min_conf_desc_length = 4;
sub help { sub help {
my ($exitcode) = @_; my ($exitcode) = @_;
@ -63,6 +64,7 @@ Options:
--types TYPE(,TYPE2...) show only these comma separated message types --types TYPE(,TYPE2...) show only these comma separated message types
--ignore TYPE(,TYPE2...) ignore various comma separated message types --ignore TYPE(,TYPE2...) ignore various comma separated message types
--max-line-length=n set the maximum line length, if exceeded, warn --max-line-length=n set the maximum line length, if exceeded, warn
--min-conf-desc-length=n set the min description length, if shorter, warn
--show-types show the message "types" in the output --show-types show the message "types" in the output
--root=PATH PATH to the kernel tree root --root=PATH PATH to the kernel tree root
--no-summary suppress the per-file summary --no-summary suppress the per-file summary
@ -131,6 +133,7 @@ GetOptions(
'types=s' => \@use, 'types=s' => \@use,
'show-types!' => \$show_types, 'show-types!' => \$show_types,
'max-line-length=i' => \$max_line_length, 'max-line-length=i' => \$max_line_length,
'min-conf-desc-length=i' => \$min_conf_desc_length,
'root=s' => \$root, 'root=s' => \$root,
'summary!' => \$summary, 'summary!' => \$summary,
'mailback!' => \$mailback, 'mailback!' => \$mailback,
@ -2285,8 +2288,10 @@ sub process {
} }
$length++; $length++;
} }
WARN("CONFIG_DESCRIPTION", if ($is_start && $is_end && $length < $min_conf_desc_length) {
"please write a paragraph that describes the config symbol fully\n" . $herecurr) if ($is_start && $is_end && $length < 4); WARN("CONFIG_DESCRIPTION",
"please write a paragraph that describes the config symbol fully\n" . $herecurr);
}
#print "is_start<$is_start> is_end<$is_end> length<$length>\n"; #print "is_start<$is_start> is_end<$is_end> length<$length>\n";
} }