[Linux-kernel-mentees] [PATCH] checkpatch: add fix option for ASSIGNMENT_CONTINUATIONS

Aditya yashsri421 at gmail.com
Mon Nov 16 08:21:35 UTC 2020


On 15/11/20 8:48 pm, Lukas Bulwahn wrote:
> On Sun, Nov 15, 2020 at 12:54 PM Aditya Srivastava <yashsri421 at gmail.com> wrote:
>>
>> Currently, checkpatch warns us if an assignment operator is placed
>> at the start of a line and not at the end of previous line.
>>
>> E.g., running checkpatch on commit 8195b1396ec8 ("hv_netvsc: fix
>> deadlock on hotplug") reports:
>>
>> CHECK: Assignment operator '=' should be on the previous line
>> +       struct netvsc_device *nvdev
>> +               = container_of(w, struct netvsc_device, subchan_work);
>>
>> Provide a simple fix by appending assignment operator to the previous
>> line and removing from the current line
>>
> 
> Looks reasonable to me.
> 
> Lukas
> 
>> Signed-off-by: Aditya Srivastava <yashsri421 at gmail.com>
>> ---
>>  scripts/checkpatch.pl | 9 +++++++--
>>  1 file changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
>> index c9aaaa443265..5b1a5a65e69a 100755
>> --- a/scripts/checkpatch.pl
>> +++ b/scripts/checkpatch.pl
>> @@ -3542,8 +3542,13 @@ sub process {
>>
>>  # check for assignments on the start of a line
>>                 if ($sline =~ /^\+\s+($Assignment)[^=]/) {
>> -                       CHK("ASSIGNMENT_CONTINUATIONS",
>> -                           "Assignment operator '$1' should be on the previous line\n" . $hereprev);
>> +                       if (CHK("ASSIGNMENT_CONTINUATIONS",
>> +                               "Assignment operator '$1' should be on the previous line\n" . $hereprev) &&
>> +                           $fix) {
>> +                               # add assignment operator to the previous line, remove from current line
>> +                               $fixed[$fixlinenr - 1] .= " $1";
>> +                               $fixed[$fixlinenr] =~ s/$1\s*//;
>> +                       }
>>                 }
>>
>>  # check for && or || at the start of a line
>> --
>> 2.17.1
>>

I have found an unhandled case with this fix ie if the line before
this line is not an added line(ie '+') rather removed one(ie '-').
Eg, with commit aef833c58d321f09a

I will send a modified patch handling that case as well.

Thanks
Aditya


More information about the Linux-kernel-mentees mailing list