All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 1/2] checkpatch: testing more config for Kconfig help text
@ 2016-06-24 14:11 Yingjoe Chen
  2016-06-24 14:11 ` [PATCH v4 2/2] checkpatch: add Kconfig 'default n' test Yingjoe Chen
  0 siblings, 1 reply; 2+ messages in thread
From: Yingjoe Chen @ 2016-06-24 14:11 UTC (permalink / raw)
  To: Andy Whitcroft, Joe Perches
  Cc: linux-kernel, srv_heupstream, Andi Kleen, Paul Bolle, 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>
---
checkpatch Kconfig checking stuff again.

Change in this round:
In 'default n' check, don't warn if user comment on why the
'default n' is neccessary.

I also change patch order. The first one extend help message check
to check for all available config entries. If you think 'default n'
check is not that useful, please consider just merge this one.

Let me know what you think. Thanks.

Change in v3:
- Rebase to v4.7-rc1

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 6750595..19b270b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2646,6 +2646,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(?:---)?$/) {
@@ -2656,7 +2662,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] 2+ messages in thread

* [PATCH v4 2/2] checkpatch: add Kconfig 'default n' test
  2016-06-24 14:11 [PATCH v4 1/2] checkpatch: testing more config for Kconfig help text Yingjoe Chen
@ 2016-06-24 14:11 ` Yingjoe Chen
  0 siblings, 0 replies; 2+ messages in thread
From: Yingjoe Chen @ 2016-06-24 14:11 UTC (permalink / raw)
  To: Andy Whitcroft, Joe Perches
  Cc: linux-kernel, srv_heupstream, Andi Kleen, Paul Bolle, 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>
---
 scripts/checkpatch.pl | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 19b270b..b3f1fda 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2689,6 +2689,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$/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] 2+ messages in thread

end of thread, other threads:[~2016-06-24 14:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-24 14:11 [PATCH v4 1/2] checkpatch: testing more config for Kconfig help text Yingjoe Chen
2016-06-24 14:11 ` [PATCH v4 2/2] checkpatch: add Kconfig 'default n' test Yingjoe Chen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.