Kernel style seems to prefer line wrapping an assignment
with the assignment operator on the previous line like:

        <leading tabs>  identifier =
                                expression;
over
        <leading tabs>  identifier
                                = expression;

somewhere around a 50:1 ratio

$ git grep -P "[^=]=\s*$" -- "*.[ch]" | wc -l
52008
$ git grep -P "^\s+[\*\/\+\|\%\-]?=[^=>]" | wc -l
1161

So add a --strict test for that condition.

Signed-off-by: Joe Perches <[email protected]>
---
 scripts/checkpatch.pl | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 5fe361e1ed5e..af2b73f19605 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3062,6 +3062,12 @@ 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);
+               }
+
 # check for && or || at the start of a line
                if ($rawline =~ /^\+\s*(&&|\|\|)/) {
                        CHK("LOGICAL_CONTINUATIONS",

Reply via email to