[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200805220917.GZ1551@shell.armlinux.org.uk>
Date: Wed, 5 Aug 2020 23:09:17 +0100
From: Russell King - ARM Linux admin <linux@...linux.org.uk>
To: Joe Perches <joe@...ches.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Dmitry Vyukov <dvyukov@...gle.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Netdev <netdev@...r.kernel.org>
Subject: Re: [PATCH] MAINTAINERS: update phylink/sfp keyword matching
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@...linux.org.uk> 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!
Powered by blists - more mailing lists