Re: [RFC PATCH -next] MAINTAINERS: Update F: and X: entry ordering (was Re: [PATCH v2 6/6] MAINTAINERS: Add maintainers for MIPS core drivers)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Joe

On Mon, Jun 01, 2020 at 11:22:58AM -0700, Joe Perches wrote:
> On Mon, 2020-06-01 at 19:04 +0300, Andy Shevchenko wrote:
> > On Mon, Jun 1, 2020 at 6:52 PM Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> 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.Semin@xxxxxxxxxxxxxxxxxxxx> 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.Semin@xxxxxxxxxxxxxxxxxxxx> 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.lancer@xxxxxxxxx>
> > > > > > > +L:     linux-mips@xxxxxxxxxxxxxxx
> > > > > > > +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 was also thinking about a text explaining the F: section order requirement.
Like this:

diff --git a/MAINTAINERS b/MAINTAINERS
index 865aeafee3b2..253f8f97891f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -111,7 +111,8 @@ Descriptions of section entries and preferred order
 	   F:	drivers/net/	all files in and below drivers/net
 	   F:	drivers/net/*	all files in drivers/net, but not below
 	   F:	*/net/*		all files in "any top level directory"/net
-	   One pattern per line.  Multiple F: lines acceptable.
+	   One pattern per line. Multiple F: lines acceptable, but are
+	   supposed to be listed in alphabetical order.
 	X: *Excluded* files and directories that are NOT maintained, same
 	   rules as F:. Files exclusions are tested before file matches.
 	   Can be useful for excluding a specific subdirectory, for instance:

The rest suggested by you is fine with me. Intermixing F and X seems reasonable
so the maintainers could group inclusion and exclusion sections together
with respect to the files/directories they refer to.

-Sergey

> 
> 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) {
> 
> 



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux