[PATCH v2 phy-next 24/24] MAINTAINERS: add regexes for linux-phy
Joe Perches
joe at perches.com
Sun Mar 8 15:22:13 PDT 2026
On Sun, 2026-03-08 at 22:56 +0200, Vladimir Oltean wrote:
> On Sun, Mar 08, 2026 at 12:25:32PM -0700, Joe Perches wrote:
> > On Sun, 2026-03-08 at 21:10 +0200, Vladimir Oltean wrote:
> On Sun, Mar 08, 2026 at 11:40:44AM -0700, Joe Perches wrote:
> > > Perhaps if matching only the include uses:
> > > > (/ is escaped because get_maintainer is stupid)
> > > > something like:
> > > >
> > > > K: include\s*\<linux\/phy\/phy(?:-common-props|-provider)?\.h\>
>
> > > Why is get_maintainer stupid?
> >
> > The get_maintainer code used to match keywords is
> >
> foreach my $line (keys %keyword_hash) {
> if ($text =~ m/$keyword_hash{$line}/x) {
> >
> > so it seems the first / in the K: <foo> regex would terminate
> > the match.
> >
> > It might have been better to use a different delimiter.
> > Maybe:
> >
> if ($text =~ m{$keyword_hash{$line}}/x
>
> So why does it match in my example?
Not sure really. But it does match exactly.
Maybe the regex code scans forward until the last /
as the / character is not a "real" metacharacter.
I added some test code and it produced:
line: <+#include <linux/phy/phy.h>>
kw: <(?:linux/phy/phy\.h|phy-props\.h|phy-provider\.h)>
test: <^[+-].*(?:linux/phy/phy\.h|phy-props\.h|phy-provider\.h)>
match: <+#include <linux/phy/phy.h>
>From https://perldoc.perl.org/perlrequick
Not all characters can be used 'as is' in a match.
Some characters, called metacharacters, are considered special,
and reserved for use in regex notation. The metacharacters are
{}[]()^$.|*+?\
A metacharacter can be matched literally by putting a backslash before it:
"2+2=4" =~ /2+2/; # doesn't match, + is a metacharacter
"2+2=4" =~ /2\+2/; # matches, \+ is treated like an ordinary +
'C:\WIN32' =~ /C:\\WIN/; # matches
"/usr/bin/perl" =~ /\/usr\/bin\/perl/; # matches
In the last regex, the forward slash '/' is also backslashed, because it is used to delimit the regex.
More information about the Linux-rockchip
mailing list