This patch ensures that apart from net code, block comments start with an
empty /* line.
Signed-off-by: Alexandre Ghiti <[email protected]>
---
scripts/checkpatch.pl | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 7dc12c137009..bcaf5d317976 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3230,12 +3230,21 @@ sub process {
# Block comment styles
# Networking with an initial /*
- if ($realfile =~ m@^(drivers/net/|net/)@ &&
- $prevrawline =~ /^\+[ \t]*\/\*[ \t]*$/ &&
- $rawline =~ /^\+[ \t]*\*/ &&
- $realline > 2) {
- WARN("NETWORKING_BLOCK_COMMENT_STYLE",
- "networking block comments don't use an empty /* line, use /* Comment...\n" . $hereprev);
+ if ($realfile =~ m@^(drivers/net/|net/)@) {
+ if ($prevrawline =~ /^\+[ \t]*\/\*[ \t]*$/ &&
+ $rawline =~ /^\+[ \t]*\*/ &&
+ $realline > 2) {
+ WARN("NETWORKING_BLOCK_COMMENT_STYLE",
+ "networking block comments don't use an empty /* line, use /* Comment...\n" . $hereprev);
+ }
+ } else {
+# 'Normal' with an initial empty /*
+ if ($prevrawline =~ /^\+[ \t]*\/\*[ \t]*\S/ &&
+ $rawline =~ /^\+[ \t]*\*/ &&
+ $realline > 2) {
+ WARN("BLOCK_COMMENT_STYLE",
+ "block comments use an empty /* line, don't use /* Comment...\n" . $hereprev);
+ }
}
# Block comments use * on subsequent lines
--
2.20.1
On Tue, 2019-03-05 at 13:02 -0500, Alexandre Ghiti wrote:
> This patch ensures that apart from net code, block comments start with an
> empty /* line.
I'm not sure it's useful to try to eliminate these types
of lines as there are ~20K of them in the kernel
$ git grep -P "^\/\*\s*\S" | \
grep -v "\*/\s*$" | \
grep -vP "^(drivers/net|net/)" | \
grep -vP "\/\*\**$" | \
wc -l
19437
Also, perhaps the code would be simpler using something like:
---
scripts/checkpatch.pl | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index d0001fd1112d..c62dbd440c50 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3262,6 +3262,17 @@ sub process {
"networking block comments don't use an empty /* line, use /* Comment...\n" . $hereprev);
}
+# Block comments use an initial blank /* unless self contained single line
+# or a continuous header line like /**********************
+# This also allows for introductory kernel-doc /** lines
+ if ($realfile !~ m@(?:drivers/net|net/)@ &&
+ $rawline =~ m@^\+\s*/\*(?:\s*\*++)?\s*\S@ &&
+ $rawline !~ m@\*/\s*$@ &&
+ $realline > 2) {
+ WARN("BLOCK_COMMENT_STYLE",
+ "Block comments start with only /* on an otherwise blank line\n" . $herecurr);
+ }
+
# Block comments use * on subsequent lines
if ($prevline =~ /$;[ \t]*$/ && #ends in comment
$prevrawline =~ /^\+.*?\/\*/ && #starting /*
Le 3/6/19 à 12:08 AM, Joe Perches a écrit :
> On Tue, 2019-03-05 at 13:02 -0500, Alexandre Ghiti wrote:
>> This patch ensures that apart from net code, block comments start with an
>> empty /* line.
> I'm not sure it's useful to try to eliminate these types
> of lines as there are ~20K of them in the kernel
>
> $ git grep -P "^\/\*\s*\S" | \
> grep -v "\*/\s*$" | \
> grep -vP "^(drivers/net|net/)" | \
> grep -vP "\/\*\**$" | \
> wc -l
> 19437
This is part of the coding style, some people rely on checkpatch for
this matter,
so I think we should at least warn user, that would avoid patch bouncing.
>
> Also, perhaps the code would be simpler using something like:
> ---
> scripts/checkpatch.pl | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index d0001fd1112d..c62dbd440c50 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -3262,6 +3262,17 @@ sub process {
> "networking block comments don't use an empty /* line, use /* Comment...\n" . $hereprev);
> }
>
> +# Block comments use an initial blank /* unless self contained single line
> +# or a continuous header line like /**********************
> +# This also allows for introductory kernel-doc /** lines
> + if ($realfile !~ m@(?:drivers/net|net/)@ &&
> + $rawline =~ m@^\+\s*/\*(?:\s*\*++)?\s*\S@ &&
> + $rawline !~ m@\*/\s*$@ &&
> + $realline > 2) {
> + WARN("BLOCK_COMMENT_STYLE",
> + "Block comments start with only /* on an otherwise blank line\n" . $herecurr);
> + }
> +
> # Block comments use * on subsequent lines
> if ($prevline =~ /$;[ \t]*$/ && #ends in comment
> $prevrawline =~ /^\+.*?\/\*/ && #starting /*
>
>
Your version handles more cases, but why is it simpler ? Anyway, that's
ok for me
if you prefer your version.
Thanks for your comments,
Alex
On 3/6/19 7:12 AM, Alexandre Ghiti wrote:
> Le 3/6/19 à 12:08 AM, Joe Perches a écrit :
>> On Tue, 2019-03-05 at 13:02 -0500, Alexandre Ghiti wrote:
>>> This patch ensures that apart from net code, block comments start
>>> with an
>>> empty /* line.
>> I'm not sure it's useful to try to eliminate these types
>> of lines as there are ~20K of them in the kernel
>>
>> $ git grep -P "^\/\*\s*\S" | \
>> grep -v "\*/\s*$" | \
>> grep -vP "^(drivers/net|net/)" | \
>> grep -vP "\/\*\**$" | \
>> wc -l
>> 19437
>
>
> This is part of the coding style, some people rely on checkpatch for
> this matter,
> so I think we should at least warn user, that would avoid patch bouncing.
>
>
>>
>> Also, perhaps the code would be simpler using something like:
>> ---
>> scripts/checkpatch.pl | 11 +++++++++++
>> 1 file changed, 11 insertions(+)
>>
>> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
>> index d0001fd1112d..c62dbd440c50 100755
>> --- a/scripts/checkpatch.pl
>> +++ b/scripts/checkpatch.pl
>> @@ -3262,6 +3262,17 @@ sub process {
>> "networking block comments don't use an empty /*
>> line, use /* Comment...\n" . $hereprev);
>> }
>> +# Block comments use an initial blank /* unless self contained
>> single line
>> +# or a continuous header line like /**********************
>> +# This also allows for introductory kernel-doc /** lines
>> + if ($realfile !~ m@(?:drivers/net|net/)@ &&
>> + $rawline =~ m@^\+\s*/\*(?:\s*\*++)?\s*\S@ &&
>> + $rawline !~ m@\*/\s*$@ &&
>> + $realline > 2) {
>> + WARN("BLOCK_COMMENT_STYLE",
>> + "Block comments start with only /* on an otherwise
>> blank line\n" . $herecurr);
>> + }
>> +
>> # Block comments use * on subsequent lines
>> if ($prevline =~ /$;[ \t]*$/ && #ends in comment
>> $prevrawline =~ /^\+.*?\/\*/ && #starting /*
>>
>>
> Your version handles more cases, but why is it simpler ? Anyway,
> that's ok for me
> if you prefer your version.
>
> Thanks for your comments,
>
> Alex
>
>
Hi Joe,
Can I do something more regarding this patch ?
Thanks,
Alex
On 3/17/19 11:48 AM, Alex Ghiti wrote:
> On 3/6/19 7:12 AM, Alexandre Ghiti wrote:
>> Le 3/6/19 à 12:08 AM, Joe Perches a écrit :
>>> On Tue, 2019-03-05 at 13:02 -0500, Alexandre Ghiti wrote:
>>>> This patch ensures that apart from net code, block comments start
>>>> with an
>>>> empty /* line.
>>> I'm not sure it's useful to try to eliminate these types
>>> of lines as there are ~20K of them in the kernel
>>>
>>> $ git grep -P "^\/\*\s*\S" | \
>>> grep -v "\*/\s*$" | \
>>> grep -vP "^(drivers/net|net/)" | \
>>> grep -vP "\/\*\**$" | \
>>> wc -l
>>> 19437
>>
>>
>> This is part of the coding style, some people rely on checkpatch for
>> this matter,
>> so I think we should at least warn user, that would avoid patch
>> bouncing.
>>
>>
>>>
>>> Also, perhaps the code would be simpler using something like:
>>> ---
>>> scripts/checkpatch.pl | 11 +++++++++++
>>> 1 file changed, 11 insertions(+)
>>>
>>> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
>>> index d0001fd1112d..c62dbd440c50 100755
>>> --- a/scripts/checkpatch.pl
>>> +++ b/scripts/checkpatch.pl
>>> @@ -3262,6 +3262,17 @@ sub process {
>>> "networking block comments don't use an empty /*
>>> line, use /* Comment...\n" . $hereprev);
>>> }
>>> +# Block comments use an initial blank /* unless self contained
>>> single line
>>> +# or a continuous header line like /**********************
>>> +# This also allows for introductory kernel-doc /** lines
>>> + if ($realfile !~ m@(?:drivers/net|net/)@ &&
>>> + $rawline =~ m@^\+\s*/\*(?:\s*\*++)?\s*\S@ &&
>>> + $rawline !~ m@\*/\s*$@ &&
>>> + $realline > 2) {
>>> + WARN("BLOCK_COMMENT_STYLE",
>>> + "Block comments start with only /* on an otherwise
>>> blank line\n" . $herecurr);
>>> + }
>>> +
>>> # Block comments use * on subsequent lines
>>> if ($prevline =~ /$;[ \t]*$/ && #ends in comment
>>> $prevrawline =~ /^\+.*?\/\*/ && #starting /*
>>>
>>>
>> Your version handles more cases, but why is it simpler ? Anyway,
>> that's ok for me
>> if you prefer your version.
>>
>> Thanks for your comments,
>>
>> Alex
>>
>>
>
> Hi Joe,
>
> Can I do something more regarding this patch ?
>
> Thanks,
>
> Alex
>
Hi,
Sorry for insisting, but do you consider this patch for inclusion ?
Thanks,
Alex