Re: [PATCH] checkpatch: allow optional shorter config descriptions

From: Joe Perches
Date: Thu Sep 04 2014 - 05:18:54 EST


On Wed, 2014-09-03 at 09:32 -0700, Vadim Bendebury wrote:
> 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@xxxxxxxxxxxx>
> ---
>
> scripts/checkpatch.pl | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index b385bcb..8808bde 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -43,6 +43,7 @@ my $configuration_file = ".checkpatch.conf";
> my $max_line_length = 80;
> my $ignore_perl_version = 0;
> my $minimum_perl_version = 5.10.0;
> +my $min_conf_desc_length = 4;
>
> sub help {
> my ($exitcode) = @_;
> @@ -63,6 +64,7 @@ Options:
> --types TYPE(,TYPE2...) show only these 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
> + --min-conf-desc-length=n set the min description length, if shorter, warn
> --show-types show the message "types" in the output
> --root=PATH PATH to the kernel tree root
> --no-summary suppress the per-file summary
> @@ -131,6 +133,7 @@ GetOptions(
> 'types=s' => \@use,
> 'show-types!' => \$show_types,
> 'max-line-length=i' => \$max_line_length,
> + 'min-conf-desc-length=i' => \$min_conf_desc_length,
> 'root=s' => \$root,
> 'summary!' => \$summary,
> 'mailback!' => \$mailback,
> @@ -2281,7 +2284,8 @@ sub process {
> $length++;
> }
> WARN("CONFIG_DESCRIPTION",
> - "please write a paragraph that describes the config symbol fully\n" . $herecurr) if ($is_start && $is_end && $length < 4);
> + "please write a paragraph that describes the config symbol fully\n" . $herecurr)
> + if ($is_start && $is_end && $length < $min_conf_desc_length);
> #print "is_start<$is_start> is_end<$is_end> length<$length>\n";
> }

Fine by me, but I think think this is the
only checkpatch use of:

WARN(foo) if (test);

Every other checkpatch message block is:

if (test) {
WARN(foo);
}

so I would prefer to change this use
to match.
---
scripts/checkpatch.pl | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index d89857d..af4659c1 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -43,6 +43,7 @@ my $configuration_file = ".checkpatch.conf";
my $max_line_length = 80;
my $ignore_perl_version = 0;
my $minimum_perl_version = 5.10.0;
+my $min_conf_desc_length = 4;

sub help {
my ($exitcode) = @_;
@@ -63,6 +64,7 @@ Options:
--types TYPE(,TYPE2...) show only these 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
+ --min-conf-desc-length=n set the min description length, if shorter, warn
--show-types show the message "types" in the output
--root=PATH PATH to the kernel tree root
--no-summary suppress the per-file summary
@@ -131,6 +133,7 @@ GetOptions(
'types=s' => \@use,
'show-types!' => \$show_types,
'max-line-length=i' => \$max_line_length,
+ 'min-conf-desc-length=i' => \$min_conf_desc_length,
'root=s' => \$root,
'summary!' => \$summary,
'mailback!' => \$mailback,
@@ -2280,9 +2283,10 @@ sub process {
}
$length++;
}
- WARN("CONFIG_DESCRIPTION",
- "please write a paragraph that describes the config symbol fully\n" . $herecurr) if ($is_start && $is_end && $length < 4);
- #print "is_start<$is_start> is_end<$is_end> length<$length>\n";
+ if ($is_start && $is_end && $length < $min_conf_desc_length) {
+ WARN("CONFIG_DESCRIPTION",
+ "please write a paragraph that describes the config symbol fully\n" . $herecurr);
+ }
}

# discourage the addition of CONFIG_EXPERIMENTAL in Kconfig.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/