| Message ID | 20260308114009.2546587-25-vladimir.oltean@nxp.com (mailing list archive) |
|---|---|
| State | New |
| Headers |
Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013035.outbound.protection.outlook.com [40.107.162.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C5A8D396B62; Sun, 8 Mar 2026 11:43:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.35 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772970231; cv=fail; b=HFWm3XRCg3wzdQSx09LBOXGfXYtoVhQN/MixBrsaKRsgKPwhinT9Bf0EMmmgPJQNHINb1ke59yDBz9I2LgSNsgzrZgkVhJt13dmE47ihOyJfE9q3d/r2UnGLr2pVg9yccVyM2ReKOLs1D2VleBZ6pD9lwdxRiJA199LjXhVDJYo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772970231; c=relaxed/simple; bh=81jV5PLGLU8QHKjS4az6gUyvvc4b2VnkcGb2vVp6OxA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=fiQiQTxKQHktjssx6TfX/IDNwgZkVrFiMqhZAiHN7OATVxTMF1eJv0+nRpEhH4JMoqPPQ5UQjGqqrJm5HfNfN4WNkN0eW2vFlQO+pAIDZjIocXxqUWIPptG98FIzWkczaUh5RL2ts+mVrxrQZY/4jndKJJpB0xXdcFKbqhgUno8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=NyFGcQ4u; arc=fail smtp.client-ip=40.107.162.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="NyFGcQ4u" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ln1RtTgnFgr7p62uKD8BZFNCNZ3GmoMEdLfz+APqqhILd3pzocV9LoLeFWHFExtO4utJ6d4Ndq1SBrnRMOmLlIiQFeQRTXjbyBGHic7H00n3wp956nFoSUFw2vFAHqWfXyTiAet8pZvh+jFbsMq7mbJ3ishwZxyH5KCwpbgDVgN6/c6t053A41EJhZK9e40og+lZzWugwBoAgUeykqF39iLLL3CYMrIg8TGW+8y30mltItEdYYQZZ+6YOfo7PeNzEsmbKsq5ZMW660zDrbFcUykBf5vQswcT6fwTlJOjNMiqx6wcpnFMj/3xUogWGtfryVdtRQgIuduu5Abn9DwgFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2/Ti2+QwBe2fmaud8xz/MB4G9j3MznUS5K+16zIt7yg=; b=FAYEkfRE84Rl+xSgtuGS3vcrBGmX4X7uRD/uGE+eFrN20Cf7pW4pQysllg+8qi2U3zwTVamHI1uCph+D8TQsg9W8l+PV/KV5t2ZGMamfQQAT18hgiTQEd4WG1RZ8DMfOnvd5UPNH0Y/aAJCF36UfGWUBxeFnRZdMjaTJjPdmaOYj7di3V6JQmnsOea5dla7EexRloUxXp094pmNst3zwr29n7Z8G2DWtE3DTuV5Ehm7OOeBSaVFkeWcc5A04J5KwUlWmiIYSDO4kmgdisjBQUf/unNluSVoVNg62yGtW7lNiOoSMdNzKxtWfPDv10ItHV2UtCbjDu2bbJDYp8kYsNw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2/Ti2+QwBe2fmaud8xz/MB4G9j3MznUS5K+16zIt7yg=; b=NyFGcQ4uQw1g9PUNNxu/EysT3WYJ9W+aCANyUqIxuuODvUcSxhD94tyrjxdFZKXjSzp4QctQQO0u77OIsvUmGas8U3kOwuMKrrDGrZ5t22YAMdw+7hMHg7wvsDiy6MfHgm+caW4Mty3+UBDNOtAIffmVHRyNNKrzSS7x+EU2TcyrcBzJelApH4gROcX9E0tDvrRW9Kz15eYMkrwojduhG2THX//9nvuuZS5WY8B32gUIRaM3DjSggwVzDO2ax6g5HzWekl9uFRqmMT2SZXktv58AgSsZcyGD7lcxMWRvz9EZAESEczuSI5tu4cDi9I1hH0SFIDVRDaY3LoRw5HFDmA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM9PR04MB8585.eurprd04.prod.outlook.com (2603:10a6:20b:438::13) by AM9PR04MB8211.eurprd04.prod.outlook.com (2603:10a6:20b:3ea::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.22; Sun, 8 Mar 2026 11:43:43 +0000 Received: from AM9PR04MB8585.eurprd04.prod.outlook.com ([fe80::f010:fca8:7ef:62f4]) by AM9PR04MB8585.eurprd04.prod.outlook.com ([fe80::f010:fca8:7ef:62f4%4]) with mapi id 15.20.9678.023; Sun, 8 Mar 2026 11:43:43 +0000 From: vladimir.oltean@nxp.com To: linux-phy@lists.infradead.org Cc: Vinod Koul <vkoul@kernel.org>, Neil Armstrong <neil.armstrong@linaro.org>, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-can@vger.kernel.org, linux-gpio@vger.kernel.org, linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-pci@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, linux-usb@vger.kernel.org, netdev@vger.kernel.org, spacemit@lists.linux.dev, UNGLinuxDriver@microchip.com, Joe Perches <joe@perches.com> Subject: [PATCH v2 phy-next 24/24] MAINTAINERS: add regexes for linux-phy Date: Sun, 8 Mar 2026 13:40:09 +0200 Message-ID: <20260308114009.2546587-25-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260308114009.2546587-1-vladimir.oltean@nxp.com> References: <20260308114009.2546587-1-vladimir.oltean@nxp.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: VE1PR08CA0011.eurprd08.prod.outlook.com (2603:10a6:803:104::24) To AM9PR04MB8585.eurprd04.prod.outlook.com (2603:10a6:20b:438::13) Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: <linux-sunxi.lists.linux.dev> List-Subscribe: <mailto:linux-sunxi+subscribe@lists.linux.dev> List-Unsubscribe: <mailto:linux-sunxi+unsubscribe@lists.linux.dev> MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB8585:EE_|AM9PR04MB8211:EE_ X-MS-Office365-Filtering-Correlation-Id: 787d5382-d821-4474-a52b-08de7d07f33c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|19092799006|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: wWRPoB8UCCP6H+3GQPtKDoUOndXiTCXKMgWHtbI+iL8k+bPnBHNCmq58HAicfCbU0eMh+NSktWMozP5VbcrK+wFkQB2BnR+bV1IANcl5Xzx0NWY/lnTHlJ004E5UiEPrVb5lQii8qWq7JnCLYbXKXQ2UgVF4n549B7bEG/+0HJFK1BuNlDaSsKD+BdCx3WqvTmcG2uLXoP48eyuzHSIRQVfg8IlqQ626hFVTM6Aov3kmbOm2k0BNbLooTFV4mqDgrg5DwvgP7IO9n2EnSJnjuyrC9og60QSM3FAdXw7rLPe57o0EXyBLNZO6ywHZDjY1SzVIHnzAv7yfE8GkW0Z602TlZx30wCH99axS93XOzwuI5HX4IrsRdTw1WKL2EpaqIwFS/PgQt8jRDJmYI28pzpH9bDIXYmHubi0QBNbgGJ47IUgPyWEpXPP15Kr+JJtXa6hyugwTIyPlu/nZsr2wRysysEWGbnaxp2woHpsyEP8jdaHW34WV0blYvuXEdT4cwhE7DJz7e50d8t+QjtvQW9c4BZrtbiOoUgddLMA2acD/6rolob3Pg4v1/Ln4M5RPpEwGPt3G+U0AnRZ8Zji6+C99GyPAtill04j3Fc0Jcw37bvQO2apEdakEGhV+URNzwfrrS/PKORyEWoamIdhyq4qKLEmJxGSYMP9J4kX68BEwcRR1VElV6cjqw0ogvU3jryeyh/bD1ED+ax8VMSstUIVI/fw6NECWfpfuS8NqcVw= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8585.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(19092799006)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: xGCBgEnSGhRJepUhVgQiz9TOvtr8qTqAeQWXFFLYAM9GEWpGkakgt1Gb4Yr038qX89xrpr8yIW28Z5KubRlpOrF9mzQ0Fsw9YC5tZEdtKX4Z6sD+2yc4A1dNdl4O1N5fUqTBU/hfzZeiiMWPK0mLQGsoIGi6oS5vflghIMRLRoO+jQvkQuT/NCkc+xnDwj+cgaDr/j5l6jPKmZ6UVZLFBmgMdbLsp/cWBssFy99ZlBpYAPTDz6myfh95yvqAmLcZXGn6ox5/ICtJEffgpPciZ+nAdJO2GYC5Hq+YZwQ8dIEsWCzwcVlz2fyFLkxhCSUwKgHLauoVUadL8XHaVa/F1ld/1IW6bDtOYO7Rfa3w3aSJ53sBWnb3Vm5BIh6Y5HweeqQsddFLB5HZ0WYgZA3PYxQ7fyy22cPAoixe8kGCsrZyZovBNFL9eMTSTW4+T3CoyFhCp+77vKxbZNdirraSteL+i2Nc1sGyO3BwGEML4UTq/co7Uy6lRBnv02ZLGKy7y4warjLa5dQmrmIx0HT2wwksQ9yU4YirolGItHacBIrEwz131JruDpnUH9ma0rwmkbwyuDt8DnBVbg5GDNJNAQIu6bnJouSlz0BrsFSILLp+9icDZJQyOHl+NqXZ7456Hh3IcyTwSrZCDrB3OxUQamVqneR8nNyz9KCwhKFIAX42FDNt8rzmvSbHXbipNULeyaxkP4cEsKmXkSv3ulaWkiaQKXhb41CVUnNBmnHtVBsl2oLqac0lBIjYyvUemw3P9XNbpOvcK21+PZJCWRH8SIGb1sRanm7bcXG77dMWgFZV/Ds/J7l1VMc6QjyPMhWLTLSum/n+JsjiRSsjvmBnfAnBPyM6yb3DUQQY7vVias1BDSSa0iQ1/IA7pS3FyY4DK1CTs555zOM5BzjxqHOz+CzekQGCoGfAlXkHZ1WuCX0KrAOPdsIb1/fqO81h2H9VSLgLjBvGDYS5dbyexAYAAz0b6hOXRsU7dgNvhfxOKloDO4btKQ2XBhx2Ejc/X9BBpAjoIA3a341FBQYuACYj7E3UMK+ChJnNso0m0PmIJgGC4Xqlqv8jcOkRXeuivtp2GvwNgMauWp8dYvKgiRjZkJlPBeskfiR9mTL5Lt0WKVpMyxObluKbqsAGJI8WEaljfDdEim1bfo7xfHy64wULFAQykD9wpPQDneuMXjT4jtd6LcRCZua9Lol4D9XZ7g1pgSeC4TU7FtCWbQHZgFeUeevOM+OJZXqLnJhQlTM5PC3dAPmV5umMDvAlA+nsvaAEOaYdITjYLlXrctb87/HMzL1u9+687ikvsqVSr3aaUfpYJ+gb2nhXW41yVEUp8Q+LJ2p1jhI78nBjdIcUpzpgzeOO9D1qu7iSco5QHNMHCZv7ZQyjuU7vsL3p8Jkp4JHWkp9IzTUKeYFZzBFZa55jZ3PV2woaSOegKSrzV+yYyLLp/OasZdf9z24gdDMw0tUDN8eo6tIvN6A1kR4TlFvISDeU7oM+FJUS0x7biM30d8V/CuOa7eusqMGwCbnJ3bRAthWCbNm2bAm4si2vnw9vkIJ4kMoxcKT2Nkn/q9GKryhdOkIafwRucO8UgKrxE9edwBxQrjZnbPGC1gJcU+NeOZSfTCSuGuyt55pS8EBpv3hiurEFAIOuoCYgnoDRU/Pb4IcKyDiKscHjltmmaMoE0UxN34VyLifXY4My5b78ZWBm+AR2ix7uFwGqyX/df/e+4DT7bAjdvnkQQdWG61JABgD0iaOlnSGzRIdgtWehoM6RzGOdGY85/yQ49KAbamkj5f1SJEt5 X-MS-Exchange-AntiSpam-MessageData-1: TxHo5y8KXSEMpdaVt2h3vaAh86iJbxUcynQ= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 787d5382-d821-4474-a52b-08de7d07f33c X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8585.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2026 11:43:43.4288 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MhsX1f+Wa69RPJnBNoWmgWaisdU5omCl9xDa6uKC+QZTlDGGi7OZjQvKvoK6gpjpmI6fbgnBrQ21XNLdwNO9LQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8211 Status: O |
| Series |
Split Generic PHY consumer and provider API
|
|
Commit Message
Vladimir Oltean
March 8, 2026, 11:40 a.m. UTC
Some pragmatic shortcuts are being taken by PHY consumer driver authors,
which put a burden on the framework. A lot of these can be caught during
review.
Make sure the linux-phy list is copied on as many keywords that regexes
can reasonably catch.
Some considerations that led to this solution and not a simpler one:
- Consumers may be located anywhere, and their file naming provides no
indication whatsoever that they are PHY API consumers.
- The network PHY API has similarly sounding API: phy_start(),
phy_connect(), etc. Similarly, matching on "phy" would hit
phys_addr_t, "cryptography", etc.
- The header files themselves need attention to avoid matching on
include/linux/phy.h (network PHY), include/linux/usb/phy.h,
drivers/net/vendor/device/phy.h, etc.
- At least for a transitional period, I suppose developers will still
try to add PHY providers outside the subsystem (which is discouraged).
So I used \b to try to match on actual word boundaries and I went for
listing all markers of PHY API use as they may appear in patch contexts.
Bit rot is a valid concern. I will add a test to the build automation
that newly introduced struct and function names in include/linux/phy.h,
include/linux/phy-props.h and drivers/phy/phy-provider.h are matched by
the MAINTAINERS entry K: patterns.
The keyword patterns were written with great help from Joe Perches
<joe@perches.com>.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
---
Cc: Joe Perches <joe@perches.com>
v1->v2:
- split into multiple regex patterns
- use matching-only (insted of capturing) regex patterns
- adjust commit message to reflect the Q&A from v1
---
MAINTAINERS | 11 +++++++++++
1 file changed, 11 insertions(+)
Comments
On Sun, 2026-03-08 at 13:40 +0200, vladimir.oltean@nxp.com wrote: > diff --git a/MAINTAINERS b/MAINTAINERS [] > @@ -10713,6 +10713,17 @@ F: Documentation/devicetree/bindings/phy/ > +K: (?:linux/phy/phy\.h|phy-props\.h|phy-provider\.h) phy-props.h and phy-provider.h don't seem to exist. Are these going to be added later? Maybe this should be phy-common-props.h ? 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\>
On Sun, Mar 08, 2026 at 11:40:44AM -0700, Joe Perches wrote: > On Sun, 2026-03-08 at 13:40 +0200, vladimir.oltean@nxp.com wrote: > > diff --git a/MAINTAINERS b/MAINTAINERS > [] > > @@ -10713,6 +10713,17 @@ F: Documentation/devicetree/bindings/phy/ > > +K: (?:linux/phy/phy\.h|phy-props\.h|phy-provider\.h) > > phy-props.h and phy-provider.h don't seem to exist. > Are these going to be added later? They're actually provided by patch 13/24: https://lore.kernel.org/linux-phy/20260308114009.2546587-13-vladimir.oltean@nxp.com/T/#u ./include/linux/phy/phy-props.h ./drivers/phy/phy-provider.h > Maybe this should be phy-common-props.h ? No, that's unrelated. > 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? I ran git format-patch -1 0fc83bd79589b (random patch which includes <linux/phy/phy.h> and I got: GENERIC PHY FRAMEWORK status: Supported:Keyword:(?:linux/phy/phy\.h|phy-props\.h|phy-provider\.h) GENERIC PHY FRAMEWORK status: Supported:Keyword:\b(?:devm_)?(?:of_)?phy_(?:optional_)?(?:get|put)(?:_by_index)?\b GENERIC PHY FRAMEWORK status: Supported:Keyword:\bphy_(?:init|exit|power_(?:on|off))\b GENERIC PHY FRAMEWORK status: Supported:Keyword:\bphy_(?:get|set)_(?:mode(?:_ext)?|media|speed|bus_width|max_link_rate)\b GENERIC PHY FRAMEWORK status: Supported:Keyword:\bstruct\s+phy(?:_ops|_attrs|_lookup|_provider)?\b which seems to be OK, it matched the (?:linux/phy/phy\.h|phy-props\.h|phy-provider\.h) regex.
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
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?
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.
diff --git a/MAINTAINERS b/MAINTAINERS index 55af015174a5..29a1c2474bf2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -10713,6 +10713,17 @@ F: Documentation/devicetree/bindings/phy/ F: drivers/phy/ F: include/dt-bindings/phy/ F: include/linux/phy/ +K: (?:linux/phy/phy\.h|phy-props\.h|phy-provider\.h) +K: \b(?:__)?(?:devm_)?(?:of_)?phy_(?:create|destroy|provider_(?:un)?register)\b +K: \bphy_(?:create|remove)_lookup\b +K: \bphy_(?:get|set)_drvdata\b +K: \b(?:devm_)?(?:of_)?phy_(?:optional_)?(?:get|put)(?:_by_index)?\b +K: \bphy_pm_runtime_(?:get|put)(?:_sync)?\b +K: \bphy_(?:init|exit|power_(?:on|off))\b +K: \bphy_(?:get|set)_(?:mode(?:_ext)?|media|speed|bus_width|max_link_rate)\b +K: \bphy_(?:reset|configure|validate|calibrate)\b +K: \bphy_notify_(?:connect|disconnect|state)\b +K: \bstruct\s+phy(?:_ops|_attrs|_lookup|_provider)?\b GENERIC PINCTRL I2C DEMULTIPLEXER DRIVER M: Wolfram Sang <wsa+renesas@sang-engineering.com>