Re: [PATCH] MAINTAINERS: update phylink/sfp keyword matching

From: Joe Perches
Date: Wed Aug 05 2020 - 19:07:23 EST


On Wed, 2020-08-05 at 23:09 +0100, Russell King - ARM Linux admin wrote:
> On Wed, Aug 05, 2020 at 11:47:38AM -0700, Joe Perches wrote:
> > On Wed, 2020-08-05 at 19:22 +0100, Russell King - ARM Linux admin wrote:
> > > On Wed, Aug 05, 2020 at 11:11:28AM -0700, Linus Torvalds wrote:
> > > > On Wed, Aug 5, 2020 at 7:34 AM Russell King <rmk+kernel@xxxxxxxxxxxxxxx> wrote:
> > > > > Is this something you're willing to merge directly please?
> > > >
> > > > Done.
> > > >
> > > > That said:
> > > >
> > > > > -K: phylink
> > > > > +K: phylink\.h|struct\s+phylink|\.phylink|>phylink_|phylink_(autoneg|clear|connect|create|destroy|disconnect|ethtool|helper|mac|mii|of|set|start|stop|test|validate)
> > > >
> > > > That's a very awkward pattern. I wonder if there could be better ways
> > > > to express this (ie "only apply this pattern to these files" kind of
> > > > thing)
> > >
> > > Yes, it's extremely awkward - I spent much of the morning with perl
> > > testing it out on the drivers/ subtree.
> >
> > There are a lot of phylink_<foo> in the kernel.
> > Are those really the only uses you want to watch?
>
> It is sufficient; as I said, I've spent a morning running this:

Cool for you, I was just asking.

How you determine what functions you're interested in
is up to you.

Another mechanism might have been something like:

$ git grep -Poh '(?:static\s+inline|EXPORT_SYMBOL).*phylink_[a-z]+' | \
grep -Poh 'phylink_[a-z]+' | sort | uniq

Maybe something that could be made generic in get_maintainer
for people maintaining specific EXPORT_SYMBOL(foo) blocks.

Maybe another letter/look could be added to MAINTAINERS like:

E: symbol_regex

as another similar mechanism for keywords but just for data
or functions marked as exported symbols.

For example, that E: might help minimize xdp matches as xdp
is used by many other bits of code that aren't express data
path uses.

MAINTAINERS-XDP (eXpress Data Path)
MAINTAINERS-M: Alexei Starovoitov <ast@xxxxxxxxxx>
MAINTAINERS-M: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
MAINTAINERS-M: David S. Miller <davem@xxxxxxxxxxxxx>
MAINTAINERS-M: Jakub Kicinski <kuba@xxxxxxxxxx>
MAINTAINERS-M: Jesper Dangaard Brouer <hawk@xxxxxxxxxx>
MAINTAINERS-M: John Fastabend <john.fastabend@xxxxxxxxx>
MAINTAINERS-L: netdev@xxxxxxxxxxxxxxx
MAINTAINERS-L: bpf@xxxxxxxxxxxxxxx
MAINTAINERS-S: Supported
MAINTAINERS-F: include/net/xdp.h
MAINTAINERS-F: include/trace/events/xdp.h
MAINTAINERS-F: kernel/bpf/cpumap.c
MAINTAINERS-F: kernel/bpf/devmap.c
MAINTAINERS-F: net/core/xdp.c
MAINTAINERS-N: xdp
MAINTAINERS:K: xdp