On Mon, 2020-06-01 at 19:04 +0300, Andy Shevchenko wrote:
> On Mon, Jun 1, 2020 at 6:52 PM Serge Semin 
> <sergey.se...@baikalelectronics.ru> wrote:
> > On Mon, Jun 01, 2020 at 06:30:22PM +0300, Andy Shevchenko wrote:
> > > On Mon, Jun 1, 2020 at 6:19 PM Serge Semin 
> > > <sergey.se...@baikalelectronics.ru> wrote:
> > > > On Mon, Jun 01, 2020 at 04:56:21PM +0300, Andy Shevchenko wrote:
> > > > > On Mon, Jun 1, 2020 at 3:26 PM Serge Semin 
> > > > > <sergey.se...@baikalelectronics.ru> wrote:
> > > > > > Add myself as a maintainer of MIPS CPU and GIC IRQchip, MIPS GIC 
> > > > > > timer
> > > > > > and MIPS CPS CPUidle drivers.
> > > > > ...
> > > > > > +MIPS CORE DRIVERS
> > > > > > +M:     Serge Semin <fancer.lan...@gmail.com>
> > > > > > +L:     linux-m...@vger.kernel.org
> > > > > > +S:     Supported
> > > > > > +F:     drivers/bus/mips_cdmm.c
> > > > > > +F:     drivers/irqchip/irq-mips-cpu.c
> > > > > > +F:     drivers/irqchip/irq-mips-gic.c
> > > > > > +F:     drivers/clocksource/mips-gic-timer.c
> > > > > > +F:     drivers/cpuidle/cpuidle-cps.c
> > > > > 
> > > > > I think nowadays checkpatch.pl warns on wrong ordering in this data 
> > > > > base.
[]
> > Next time I won't forget that then. BTW the notes at the top of the 
> > MAINTAINERS
> > file don't explicitly say about the files-list order. Only about the
> > whole maintainers list entries order. Seeing the rest of the sub-entries 
> > like
> > L:, M:, etc. aren't ordered then it's probably better to have an explicit
> > statement, that files should be alphabetically listed, especially when
> > checkpatch.pl starts warning about that.
> 
> Joe, what do you think?

Fine by me.  Maybe something like the below.

Another thing might be to intermix the F and X entries so that
exclusions are more obviously against the F: entries.

There aren't many MAINTAINERS lines changed when the modified
parse-maintainers is run, but I think it reads better.

It doesn't seem the last major reordering with parse-maintainers
caused any significant issue for anyone.

I think having Linus run scripts/parse-maintainers.pl just before
every release or every few releases would make this issue go away.
---
 MAINTAINERS                  |  1 +
 scripts/checkpatch.pl        | 17 +++++++----------
 scripts/parse-maintainers.pl |  5 ++---
 3 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index b045b70e54df..4b53119504ff 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -118,6 +118,7 @@ Descriptions of section entries and preferred order
           F:   net/
           X:   net/ipv6/
           matches all files in and below net excluding net/ipv6/
+          F: and X: entries are intermixed in case sensitive alphabetic order
        N: Files and directories *Regex* patterns.
           N:   [^a-z]tegra     all files whose path contains tegra
                                (not including files like integrator)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index dd750241958b..499c85be0b2f 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3099,16 +3099,13 @@ sub process {
                                if ($curindex < 0) {
                                        WARN("MAINTAINERS_STYLE",
                                             "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);
-                                       } 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);
-                                       }
+                               } elsif ($previndex >= 0 && $curindex < 
$previndex && !($prev =~ /[FX]/ && $cur =~ /[FX]/)) {
+                                       WARN("MAINTAINERS_STYLE",
+                                            "Misordered MAINTAINERS entry - 
list '$cur:' before '$prev:'\n" . $hereprev);
+                               } elsif ((($prev =~ /[FX]/ && $cur =~ /[FX]/) &&
+                                         ($prevval cmp $curval) > 0)) {
+                                       WARN("MAINTAINERS_STYLE",
+                                            "Misordered MAINTAINERS entry - 
list F and X file patterns in alphabetic order\n" . $hereprev);
                                }
                        }
                }
diff --git a/scripts/parse-maintainers.pl b/scripts/parse-maintainers.pl
index 2ca4eb3f190d..8d2247a596f0 100755
--- a/scripts/parse-maintainers.pl
+++ b/scripts/parse-maintainers.pl
@@ -84,9 +84,8 @@ sub by_pattern($$) {
     $a_index = 1000 if ($a_index == -1);
     $b_index = 1000 if ($b_index == -1);
 
-    if (($a1 =~ /^F$/ && $b1 =~ /^F$/) ||
-       ($a1 =~ /^X$/ && $b1 =~ /^X$/)) {
-       return $a cmp $b;
+    if (($a1 =~ /^[FX]$/ && $b1 =~ /^[FX]$/)) {
+       return substr($a, 1) cmp substr($b, 1);
     }
 
     if ($a_index < $b_index) {


Reply via email to