Checkpatch expects entries in MAINTAINERS file in a specific order and
warns if the changes made do not follow the specified order.

E.g., running checkpatch on commit 6f736909f0a4 ("MAINTAINERS: Add
patchwork link for PWM entry") reports this warning:

WARNING: Misordered MAINTAINERS entry - list 'Q:' before 'T:'
 T:     git 
git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git
+Q:     https://patchwork.ozlabs.org/project/linux-pwm/list/

Provide a simple fix by swapping the unordered lines

Signed-off-by: Aditya Srivastava <yashsri...@gmail.com>
---
Changes in v2:
modified commit message

 scripts/checkpatch.pl | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 2749f32dffe9..c9aaaa443265 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3299,13 +3299,22 @@ sub process {
                                             "Unknown MAINTAINERS entry type: 
'$cur'\n" . $herecurr);
                                } else {
                                        if ($previndex >= 0 && $curindex < 
$previndex) {
-                                               WARN("MAINTAINERS_STYLE",
-                                                    "Misordered MAINTAINERS 
entry - list '$cur:' before '$prev:'\n" . $hereprev);
+                                               if (WARN("MAINTAINERS_STYLE",
+                                                        "Misordered 
MAINTAINERS entry - list '$cur:' before '$prev:'\n" . $hereprev) &&
+                                                   $fix) {
+                                                       # swap these lines
+                                                       $fixed[$fixlinenr - 1] 
= $rawline;
+                                                       $fixed[$fixlinenr] = 
$prevrawline;
+                                               }
                                        } elsif ((($prev eq 'F' && $cur eq 'F') 
||
                                                  ($prev eq 'X' && $cur eq 
'X')) &&
                                                 ($prevval cmp $curval) > 0) {
-                                               WARN("MAINTAINERS_STYLE",
-                                                    "Misordered MAINTAINERS 
entry - list file patterns in alphabetic order\n" . $hereprev);
+                                               if (WARN("MAINTAINERS_STYLE",
+                                                        "Misordered 
MAINTAINERS entry - list file patterns in alphabetic order\n" . $hereprev) &&
+                                                   $fix) {
+                                                       $fixed[$fixlinenr - 1] 
= $rawline;
+                                                       $fixed[$fixlinenr] = 
$prevrawline;
+                                               }
                                        }
                                }
                        }
-- 
2.17.1

Reply via email to