Adds a new warning in case the indentation level of the first line of a Kconfig help message is not at least two spaces higher than the keyword itself. Blank lines between the message and the help keyword are ignored.
Co-developed-by: Johannes Czekay <johannes.cze...@fau.de> Signed-off-by: Johannes Czekay <johannes.cze...@fau.de> Signed-off-by: Nicolai Fischer <nicolai.fisc...@fau.de> --- Now matches indentation of two or more spaces, instead of exactly two. scripts/checkpatch.pl | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index c86a971a3205..209880810aaa 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3313,6 +3313,8 @@ sub process { my $f; my $is_start = 0; my $is_end = 0; + my $help_indent; + my $help_stat_real; for (; $cnt > 0 && defined $lines[$ln - 1]; $ln++) { $f = $lines[$ln - 1]; $cnt-- if ($lines[$ln - 1] !~ /^-/); @@ -3323,8 +3325,10 @@ sub process { if ($lines[$ln - 1] =~ /^\+\s*(?:bool|tristate|int|hex|string|prompt)\s*(?:["'].*)?$/) { $is_start = 1; - } elsif ($lines[$ln - 1] =~ /^\+\s*help$/) { - $length = -1; + } elsif ($lines[$ln - 1] =~ /^\+(\s*)help$/) { + $help_indent = $1; + $length = 0; + next; } $f =~ s/^.//; @@ -3332,6 +3336,13 @@ sub process { $f =~ s/^\s+//; next if ($f =~ /^$/); + if (defined $help_indent) { + if ($lines[$ln - 1] !~ /^\+$help_indent\ {2,}\S*/) { + $help_stat_real = get_stat_real($ln - 1, $ln); + } + undef $help_indent; + } + # This only checks context lines in the patch # and so hopefully shouldn't trigger false # positives, even though some of these are @@ -3347,6 +3358,10 @@ sub process { WARN("CONFIG_DESCRIPTION", "please write a paragraph that describes the config symbol fully\n" . $herecurr); } + if ($is_start && $is_end && defined $help_stat_real) { + WARN("CONFIG_DESCRIPTION", + "please indent the help text two spaces more than the keyword\n" . "$here\n$help_stat_real\n"); + } #print "is_start<$is_start> is_end<$is_end> length<$length>\n"; } -- 2.29.2