Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753212AbcDVN34 (ORCPT ); Fri, 22 Apr 2016 09:29:56 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:50049 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752555AbcDVN3z (ORCPT ); Fri, 22 Apr 2016 09:29:55 -0400 Message-ID: <1461331789.16530.12.camel@mtksdaap41> Subject: Re: [PATCH 2/3] checkpatch: testing more config for Kconfig help text From: Yingjoe Chen To: Joe Perches CC: Andy Whitcroft , , Date: Fri, 22 Apr 2016 21:29:49 +0800 In-Reply-To: <1461258387.1918.18.camel@perches.com> References: <1461245285-14918-1-git-send-email-yingjoe.chen@mediatek.com> <1461245285-14918-2-git-send-email-yingjoe.chen@mediatek.com> <1461258387.1918.18.camel@perches.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 Content-Transfer-Encoding: 7bit MIME-Version: 1.0 X-MTK: N Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1801 Lines: 51 On Thu, 2016-04-21 at 10:06 -0700, Joe Perches wrote: > On Thu, 2016-04-21 at 21:28 +0800, Yingjoe Chen wrote: > > 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. > [] > > diff --git 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,10 @@ sub process { > > $f =~ s/#.*//; > > $f =~ s/^\s+//; > > next if ($f =~ /^$/); > > - if ($f =~ /^\s*config\s/) { > > + if ($f =~ /^\s*config\s/ || $f =~ /^\s*menuconfig\s/ || $f =~ /^\s*choice\s/ || > > + $f =~ /^\s*endchoice$/ || $f =~ /^\s*comment\s/ || $f =~ /^\s*menu\s/ || > > + $f =~ /^\s*endmenu$/ || $f =~ /^\s*if\s/ || $f =~ /^\s*endif$/ || > > + $f =~ /^\s*source\s/) { > > $is_end = 1; > > last; > > } > > This seems relatively verbose. > Also, because there's a substitution above that strips leading spaces, > the "^\s*" uses are unnecessary and can be simplified to ^ > > Maybe: > if ($f =~ /^(?:config\s|menuconfig\s|choice\s|endchoice\s*$|comment\s|menu\s|endmenu$|if\s|endif\s*$|source\s) > Thanks Strip apply to trailing spaces as well, will change this to: if ($f =~ /^(?:config\s|menuconfig\s|choice\s|endchoice$|comment\s|menu\s|endmenu$|if\s|endif$|source\s)/) Joe.C