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

From: Russell King - ARM Linux admin
Date: Wed Aug 05 2020 - 18:09:24 EST


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:

#!/usr/bin/perl
$re = 'phylink\.h|struct\s+phylink|\.phylink|>phylink_|phylink_(autoneg|clear|connect|create|destroy|disconnect|ethtool|helper|mac|mii|of|set|start|stop|test|validate)';
foreach $f (@ARGV) {
open F, $f;
$l = 1;
while (<F>) {
chomp;
print "$f:$l: $_\n" if /$re/;
$l++;
}
close F;
}

through:

$ find drivers -type f -print0 | xargs -0 ./check.pl | diff -u pl-ref.out - |less

where pl-ref.out is the original K: matching of just "phylink" and
looking at the differences to ensure I'm excluding just stuff that
doesn't concern me, while getting a high hit rate on the stuff
that I do want.

Now, I'm not saying that there isn't a better way, but this is not
something I want to spend days on. So I got something that works
for me, and that's what I've sent Linus.

Going through your list...

> 4 phylink_add

Not sure what this is. Doesn't seem to be anything to do with what
I maintain.

> 7 phylink_an_mode_str

static function.

> 4 phylink_apply_manual_flow

static function.

> 3 phylink_attach_phy

static function.

> 26 phylink_autoneg_inband

This one public and included.

> 4 phylink_bringup_phy

static function.

> 3 phylink_change_inband_advert

static function.

> 6 phylink_clear

This one public and included.

> 4 phylink_complete
> 2 phylink_complete_evt

Nothing to do with phylink.

> 145 phylink_config

Included.

> 3 phylink_connect
> 8 phylink_connect_phy

Both included under one.

> 39 phylink_create

Included.

> 10 phylink_dbg

static function.

... shall I go on?

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!