The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH v2 1/3] checkpatch: add Kconfig 'default n' test
@ 2016-04-22 14:32 Yingjoe Chen
  2016-04-22 14:32 ` [PATCH v2 2/3] checkpatch: testing more config for Kconfig help text Yingjoe Chen
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Yingjoe Chen @ 2016-04-22 14:32 UTC (permalink / raw)
  To: Andy Whitcroft, Joe Perches
  Cc: linux-kernel, Andi Kleen, Paul Bolle, srv_heupstream,
	Yingjoe Chen

If a Kconfig config option doesn't specify 'default', the default
will be n. Adding 'default n' is unnecessary.

Add a test to warn about this.

Signed-off-by: Yingjoe Chen <yingjoe.chen@mediatek.com>
---
Change in v2:
- Change according to Joe Perches' suggestion

 scripts/checkpatch.pl | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index d574d13..3cb7c2d 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2600,6 +2600,13 @@ sub process {
 			     "Use of boolean is deprecated, please use bool instead.\n" . $herecurr);
 		}
 
+# discourage the use of default n
+		if ($realfile =~ /Kconfig/ &&
+		    $line =~ /^\+\s*default\s*n\s*(#.*|$)/i) {
+			WARN("CONFIG_DEFAULT_N",
+			     "Use of default n is unnecessary, default is n when omitted.\n" . $herecurr);
+		}
+
 		if (($realfile =~ /Makefile.*/ || $realfile =~ /Kbuild.*/) &&
 		    ($line =~ /\+(EXTRA_[A-Z]+FLAGS).*/)) {
 			my $flag = $1;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 2/3] checkpatch: testing more config for Kconfig help text
  2016-04-22 14:32 [PATCH v2 1/3] checkpatch: add Kconfig 'default n' test Yingjoe Chen
@ 2016-04-22 14:32 ` Yingjoe Chen
  2016-04-22 14:32 ` [PATCH v2 3/3] checkpatch: relax Kconfig help text line number threshold Yingjoe Chen
  2016-05-04  1:06 ` [PATCH v2 1/3] checkpatch: add Kconfig 'default n' test Yingjoe Chen
  2 siblings, 0 replies; 4+ messages in thread
From: Yingjoe Chen @ 2016-04-22 14:32 UTC (permalink / raw)
  To: Andy Whitcroft, Joe Perches
  Cc: linux-kernel, Andi Kleen, Paul Bolle, srv_heupstream,
	Yingjoe Chen

Current help text check only check a config option if it is followed
by another config.
Adding check for help text if the next entry is menuconfig, choice/
endchoice, comment, menu/endmenu, if/endif, source or end of file.

Signed-off-by: Yingjoe Chen <yingjoe.chen@mediatek.com>
---
Change in v2:
- Change according to Joe Perches' suggestion

 scripts/checkpatch.pl | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 3cb7c2d..403ebbc 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2563,6 +2563,12 @@ sub process {
 				next if ($f =~ /^-/);
 				last if (!$file && $f =~ /^\@\@/);
 
+				if ($f !~ /^[+\- ]/) {
+					# End of file
+					$is_end = 1;
+					last;
+				}
+
 				if ($lines[$ln - 1] =~ /^\+\s*(?:bool|tristate)\s*\"/) {
 					$is_start = 1;
 				} elsif ($lines[$ln - 1] =~ /^\+\s*(?:---)?help(?:---)?$/) {
@@ -2573,7 +2579,7 @@ sub process {
 				$f =~ s/#.*//;
 				$f =~ s/^\s+//;
 				next if ($f =~ /^$/);
-				if ($f =~ /^\s*config\s/) {
+				if ($f =~ /^(?:config\s|menuconfig\s|choice\s|endchoice\s*$|comment\s|menu\s|endmenu\s*$|if\s|endif\s*$|source\s)/) {
 					$is_end = 1;
 					last;
 				}
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 3/3] checkpatch: relax Kconfig help text line number threshold
  2016-04-22 14:32 [PATCH v2 1/3] checkpatch: add Kconfig 'default n' test Yingjoe Chen
  2016-04-22 14:32 ` [PATCH v2 2/3] checkpatch: testing more config for Kconfig help text Yingjoe Chen
@ 2016-04-22 14:32 ` Yingjoe Chen
  2016-05-04  1:06 ` [PATCH v2 1/3] checkpatch: add Kconfig 'default n' test Yingjoe Chen
  2 siblings, 0 replies; 4+ messages in thread
From: Yingjoe Chen @ 2016-04-22 14:32 UTC (permalink / raw)
  To: Andy Whitcroft, Joe Perches
  Cc: linux-kernel, Andi Kleen, Paul Bolle, srv_heupstream,
	Yingjoe Chen

Current threshold is too strict and many upstream patch doesn't pass
this test. Relax it.

Signed-off-by: Yingjoe Chen <yingjoe.chen@mediatek.com>

---
In v4.6-rc1, 171 new config options was added, and 87 of those options
have < 4 lines and 24 options have only 1 line. After this change,
checkpatch only raise warning when help text only contain 1 line.

Some options try to workaround this check by adding 2 lines
template like 'If you have this device...' which doesn't add value.

---
 scripts/checkpatch.pl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 403ebbc..4bfb23b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -47,7 +47,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;
+my $min_conf_desc_length = 2;
 my $spelling_file = "$D/spelling.txt";
 my $codespell = 0;
 my $codespellfile = "/usr/share/codespell/dictionary.txt";
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 1/3] checkpatch: add Kconfig 'default n' test
  2016-04-22 14:32 [PATCH v2 1/3] checkpatch: add Kconfig 'default n' test Yingjoe Chen
  2016-04-22 14:32 ` [PATCH v2 2/3] checkpatch: testing more config for Kconfig help text Yingjoe Chen
  2016-04-22 14:32 ` [PATCH v2 3/3] checkpatch: relax Kconfig help text line number threshold Yingjoe Chen
@ 2016-05-04  1:06 ` Yingjoe Chen
  2 siblings, 0 replies; 4+ messages in thread
From: Yingjoe Chen @ 2016-05-04  1:06 UTC (permalink / raw)
  To: Andy Whitcroft, Joe Perches
  Cc: linux-kernel, Andi Kleen, Paul Bolle, srv_heupstream

On Fri, 2016-04-22 at 22:32 +0800, Yingjoe Chen wrote:
> If a Kconfig config option doesn't specify 'default', the default
> will be n. Adding 'default n' is unnecessary.
> 
> Add a test to warn about this.
> 
> Signed-off-by: Yingjoe Chen <yingjoe.chen@mediatek.com>
> ---
> Change in v2:
> - Change according to Joe Perches' suggestion
> 
>  scripts/checkpatch.pl | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index d574d13..3cb7c2d 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -2600,6 +2600,13 @@ sub process {
>  			     "Use of boolean is deprecated, please use bool instead.\n" . $herecurr);
>  		}
>  
> +# discourage the use of default n
> +		if ($realfile =~ /Kconfig/ &&
> +		    $line =~ /^\+\s*default\s*n\s*(#.*|$)/i) {
> +			WARN("CONFIG_DEFAULT_N",
> +			     "Use of default n is unnecessary, default is n when omitted.\n" . $herecurr);
> +		}
> +
>  		if (($realfile =~ /Makefile.*/ || $realfile =~ /Kbuild.*/) &&
>  		    ($line =~ /\+(EXTRA_[A-Z]+FLAGS).*/)) {
>  			my $flag = $1;

Hi,

Any suggestion for this new round?

Joe.C

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-05-04  1:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-22 14:32 [PATCH v2 1/3] checkpatch: add Kconfig 'default n' test Yingjoe Chen
2016-04-22 14:32 ` [PATCH v2 2/3] checkpatch: testing more config for Kconfig help text Yingjoe Chen
2016-04-22 14:32 ` [PATCH v2 3/3] checkpatch: relax Kconfig help text line number threshold Yingjoe Chen
2016-05-04  1:06 ` [PATCH v2 1/3] checkpatch: add Kconfig 'default n' test Yingjoe Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox