Re: [PATCH v2 1/5] checkpatch: improve Kconfig help text patch parsing

From: Joe Perches
Date: Wed Nov 23 2022 - 20:09:44 EST


On Tue, 2022-11-22 at 19:11 -0600, Robert Elliott wrote:
> While parsing Kconfig help text, allow the strings that affect
> parsing (e.g., help, bool, tristate, and prompt) to be in existing
> text, not just added text (i.e., allow both + and a space character
> at the beginning of the line).
>
> This improves parsing of a patch like:
>
> +config CRYPTO_SHA512_S390
> + tristate "SHA384 and SHA512 (s390)"
> + depends on S390
> select CRYPTO_HASH
> help
> - SHA512 secure hash standard (DFIPS 180-2).
> + SHA-384 and SHA-512 secure hash algorithms (FIPS 180)
>
> - This version of SHA implements a 512 bit hash with 256 bits of
> - security against collision attacks.
> + Architecture: s390
>
> - This code also includes SHA-384, a 384 bit hash with 192 bits
> - of security against collision attacks.
> + It is available as of z10.

This would seem to be an invalid patch as it adds a config block.

Not sure this is a good change.

>
> Signed-off-by: Robert Elliott <elliott@xxxxxxx>
> ---
> scripts/checkpatch.pl | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index c8a616a9d034..1d9e563e768a 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -3490,11 +3490,11 @@ sub process {
> next if ($f =~ /^-/);
> last if ($f !~ /^[\+ ]/); # !patch context
>
> - if ($f =~ /^\+\s*(?:bool|tristate|prompt)\s*["']/) {
> + if ($f =~ /^[\+ ]\s*(?:bool|tristate|prompt)\s*["']/) {
> $needs_help = 1;
> next;
> }
> - if ($f =~ /^\+\s*help\s*$/) {
> + if ($f =~ /^[\+ ]\s*help\s*$/) {
> $has_help = 1;
> next;
> }
> @@ -3519,7 +3519,8 @@ sub process {
> $help_length < $min_conf_desc_length) {
> my $stat_real = get_stat_real($linenr, $ln - 1);
> WARN("CONFIG_DESCRIPTION",
> - "please write a help paragraph that fully describes the config symbol\n" . "$here\n$stat_real\n");
> + "please write $min_conf_desc_length lines of help text that fully describes the config symbol (detected $help_length lines)\n" .
> + "$here\n$stat_real\n");
> }
> }
>