Skip to contentSkip to conversation

checkpatch.pl: Improve WARNING on Kconfig help

PATCH In review Igor Stoppa 4 participants 9 messages Dec 19, 2018 Checkpatch

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 checkpatch.pl: Improve WARNING on Kconfig help

The checkpatch.pl script complains when the help section of a Kconfig entry is too short, but it doesn't really explain what it is looking for. Instead, it gives a generic warning that one should consider writing a paragraph.

But what it *really* checks is that the help section is at least .$min_conf_desc_length lines long.

Since the definition of what is a paragraph is not really carved in stone (and actually the primary descriptions is "5 sentences"), make the warning less ambiguous by expliciting the actual test condition, so that one doesn't have to read checkpatch.pl sources, to figure out the actual test.

---
 scripts/checkpatch.pl | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
scripts/checkpatch.pl +2 -1
index c883ec55654f..e255f0423cca 100755
@@ -2931,7 +2931,8 @@ sub process {
 			}
 			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);
+				     "please write a paragraph (" .$min_conf_desc_length . " lines)" .
+				     " that describes the config symbol fully\n" . $herecurr);
 			}
 			#print "is_start<$is_start> is_end<$is_end> length<$length>\n";
 		}
Signature · 1 line
2.19.1
maintainer
#1 lore raw
Quoted 5 lines · Igor Stoppa

The checkpatch.pl script complains when the help section of a Kconfig entry is too short, but it doesn't really explain what it is looking for. Instead, it gives a generic warning that one should consider writing a paragraph.

Quoted 8 lines

But what it *really* checks is that the help section is at least .$min_conf_desc_length lines long.

Since the definition of what is a paragraph is not really carved in stone (and actually the primary descriptions is "5 sentences"), make the warning less ambiguous by expliciting the actual test condition, so that one doesn't have to read checkpatch.pl sources, to figure out the actual test.

[]

scripts/checkpatch.pl

Quoted 1 line
scripts/checkpatch.pl +0 -0

[]

scripts/checkpatch.pl sub process { · line 2934

Quoted 6 lines
scripts/checkpatch.pl +1 -1
@@ -2931,7 +2931,8 @@ sub process {
 			}
 			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);
+				     "please write a paragraph (" .$min_conf_desc_length . " lines)" .

could say "(at least $min_conf_desc_length lines)"

maintainer
#2 lore raw
Quoted 17 lines · Joe Perches
Quoted 5 lines · Igor Stoppa

The checkpatch.pl script complains when the help section of a Kconfig entry is too short, but it doesn't really explain what it is looking for. Instead, it gives a generic warning that one should consider writing a paragraph.

Quoted 8 lines

But what it *really* checks is that the help section is at least .$min_conf_desc_length lines long.

Since the definition of what is a paragraph is not really carved in stone (and actually the primary descriptions is "5 sentences"), make the warning less ambiguous by expliciting the actual test condition, so that one doesn't have to read checkpatch.pl sources, to figure out the actual test.

[]

scripts/checkpatch.pl

Quoted 1 line
scripts/checkpatch.pl +0 -0

[]

Quoted 8 lines

scripts/checkpatch.pl sub process { · line 2934

Quoted 6 lines
scripts/checkpatch.pl +1 -1
@@ -2931,7 +2931,8 @@ sub process {
 			}
 			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);
+				     "please write a paragraph (" .$min_conf_desc_length . " lines)" .

could say "(at least $min_conf_desc_length lines)"

The original is better description in the semantic sense. We want them to describe it well. We assume they haven't because it is short. We don't want them to make it long, we want them to confirm it is fully described.

You arn't trying to make people make these warnings away, they should just be checking they have met the criteria in the warning. If they have they can ignore the warning and be happy, they don't have to add two more lines.

To cover both cases perhaps:

"please ensure that this config symbols is described fully (less than
$min_conf_desc_length lines is quite brief)"

-apw

maintainer
#3 lore raw
Quoted 37 lines · Andy Whitcroft
Quoted 17 lines · Joe Perches
Quoted 5 lines · Igor Stoppa

The checkpatch.pl script complains when the help section of a Kconfig entry is too short, but it doesn't really explain what it is looking for. Instead, it gives a generic warning that one should consider writing a paragraph.

Quoted 8 lines

But what it *really* checks is that the help section is at least .$min_conf_desc_length lines long.

Since the definition of what is a paragraph is not really carved in stone (and actually the primary descriptions is "5 sentences"), make the warning less ambiguous by expliciting the actual test condition, so that one doesn't have to read checkpatch.pl sources, to figure out the actual test.

[]

scripts/checkpatch.pl

Quoted 1 line
scripts/checkpatch.pl +0 -0

[]

Quoted 8 lines

scripts/checkpatch.pl sub process { · line 2934

Quoted 6 lines
scripts/checkpatch.pl +1 -1
@@ -2931,7 +2931,8 @@ sub process {
 			}
 			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);
+				     "please write a paragraph (" .$min_conf_desc_length . " lines)" .

could say "(at least $min_conf_desc_length lines)"

The original is better description in the semantic sense. We want them to describe it well. We assume they haven't because it is short. We don't want them to make it long, we want them to confirm it is fully described.

You arn't trying to make people make these warnings away, they should just be checking they have met the criteria in the warning. If they have they can ignore the warning and be happy, they don't have to add two more lines.

Quoted 4 lines

To cover both cases perhaps:

"please ensure that this config symbols is described fully (less than
$min_conf_desc_length lines is quite brief)"

This is one of those checkpatch bleats I never really thought was appropriate as some or many Kconfig symbols are fully descriptive in even with only a single line.

Also, it seems you are arguing for a checkpatch --verbose-help output style rather than the intentionally terse single line output that the script produces today.

That is something Al Viro once suggested in this thread:
https://lore.kernel.org/patchwork/patch/775901/

Quoted 10 lines · Al Viro
Quoted 1 line · Joe Perches

checkpatch messages are single line.

Too bad... Incidentally, being able to get more detailed explanation of a warning might be a serious improvement, especially if it contains the rationale. Hell, something like TeX handling of errors might be a good idea - warning printed, offered actions include 'give more help', 'continue', 'exit', 'from now on suppress this kind of warning', 'from now on just dump this kind of warning into log and keep going', 'from now on dump all warnings into log and keep going'.

#4 lore raw
Quoted 13 lines · Joe Perches
Quoted 6 lines · Andy Whitcroft

On Wed, Dec 19, 2018 at 02:44:36AM -0800, Joe Perches wrote:

To cover both cases perhaps:

"please ensure that this config symbols is described fully (less than
$min_conf_desc_length lines is quite brief)"

This is one of those checkpatch bleats I never really thought was appropriate as some or many Kconfig symbols are fully descriptive in even with only a single line.

Quoted 4 lines

Also, it seems you are arguing for a checkpatch --verbose-help output style rather than the intentionally terse single line output that the script produces today.

If I have to use --verbose, to understand that the warning is about me writing 3 lines when the script expects 4, I don't think it's particularly user friendly.

Let's write "Expected 4+ lines" or something equally clear. It will fit in a row and get the job done.

Quoted 14 lines

That is something Al Viro once suggested in this thread:
https://lore.kernel.org/patchwork/patch/775901/

Quoted 10 lines · Al Viro
Quoted 1 line · Joe Perches

checkpatch messages are single line.

Too bad... Incidentally, being able to get more detailed explanation of a warning might be a serious improvement, especially if it contains the rationale. Hell, something like TeX handling of errors might be a good idea - warning printed, offered actions include 'give more help', 'continue', 'exit', 'from now on suppress this kind of warning', 'from now on just dump this kind of warning into log and keep going', 'from now on dump all warnings into log and keep going'.

It's all good in general, but here the word "paragraph" is being abused, in the sense that it has been given an arbitrary meaning of "4 lines". And the warning is even worse because it doesn't even acknowledge that I wrote something, even if it's a meager 1 or 2 lines. Which is even more confusing.

As user, if I'm running checkpatch.pl and I get a warning, I should spend my time trying to decide if/how to fix it, not re-invoking it with extra options or reading its sources.

--
igor

#5 lore raw

PATCH 1/1 checkpatch.pl: Improve WARNING on Kconfig help

In reply to Joe Perches

The checkpatch.pl script complains when the help section of a Kconfig entry is too short, but it doesn't really explain what it is looking for. Instead, it gives a generic warning that one should consider writing a paragraph.

But what it *really* checks is that the help section is at least .$min_conf_desc_length lines long.

Since the definition of what is a paragraph is not really carved in stone (and actually the primary descriptions is "5 sentences"), make the warning less ambiguous by expliciting the actual test condition, so that one doesn't have to read checkpatch.pl sources, to figure out the actual test.

---
 scripts/checkpatch.pl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
scripts/checkpatch.pl +1 -1
index c883ec55654f..33568d7e28d1 100755
@@ -2931,7 +2931,7 @@ sub process {
 			}
 			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);
+				     "expecting a 'help' section of " .$min_conf_desc_length . "+ lines\n" . $herecurr);
 			}
 			#print "is_start<$is_start> is_end<$is_end> length<$length>\n";
 		}
Signature · 1 line
2.19.1
maintainer
#6 lore raw
Quoted 5 lines · Igor Stoppa

The checkpatch.pl script complains when the help section of a Kconfig entry is too short, but it doesn't really explain what it is looking for. Instead, it gives a generic warning that one should consider writing a paragraph.

Quoted 8 lines

But what it *really* checks is that the help section is at least .$min_conf_desc_length lines long.

Since the definition of what is a paragraph is not really carved in stone (and actually the primary descriptions is "5 sentences"), make the warning less ambiguous by expliciting the actual test condition, so that one doesn't have to read checkpatch.pl sources, to figure out the actual test.

[]

scripts/checkpatch.pl

Quoted 1 line
scripts/checkpatch.pl +0 -0

[]

scripts/checkpatch.pl sub process { · line 2934

Quoted 6 lines
scripts/checkpatch.pl +1 -1
@@ -2931,7 +2931,7 @@ sub process {
 			}
 			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);
+				     "expecting a 'help' section of " .$min_conf_desc_length . "+ lines\n" . $herecurr);

this could also be written without the concatenations

				     "expecting a 'help' section of $min_conf_desc_length or more lines\n" . $herecurr);
or maybe
				     "please write a paragraph that describes the config symbol fully ($min_conf_desc_length or more lines)\n" . $herecurr);

Andi?
You are the originator of this text.
Do you have an opinion?

#7 lore raw
Quoted 7 lines
				     "expecting a 'help' section of $min_conf_desc_length or more lines\n" . $herecurr);
or maybe
				     "please write a paragraph that describes the config symbol fully ($min_conf_desc_length or more lines)\n" . $herecurr);

Andi?
You are the originator of this text.
Do you have an opinion?

Either change is fine for me.

-Andi

Quoted 2 lines
#8 lore raw

PATCH 1/1 checkpatch.pl: Improve WARNING on Kconfig help

In reply to Joe Perches

The checkpatch.pl script complains when the help section of a Kconfig entry is too short, but it doesn't really explain what it is looking for. Instead, it gives a generic warning that one should consider writing a paragraph.

But what it *really* checks is that the help section is at least .$min_conf_desc_length lines long.

Since the definition of what is a paragraph is not really carved in stone (and actually the primary descriptions is "5 sentences"), make the warning less ambiguous by expliciting the actual test condition, so that one doesn't have to read checkpatch.pl sources, to figure out the actual test.

CC Andy Whitcroft <[email protected]>
CC Joe Perches <[email protected]>
CC Andi Kleen <[email protected]>
---
 scripts/checkpatch.pl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
scripts/checkpatch.pl +1 -1
index c883ec55654f..818ddada28b5 100755
@@ -2931,7 +2931,7 @@ sub process {
 			}
 			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);
+				     "expecting a 'help' section of $min_conf_desc_length or more lines\n" . $herecurr);
 			}
 			#print "is_start<$is_start> is_end<$is_end> length<$length>\n";
 		}
Signature · 1 line
2.19.1