Show a cover letter.

GET /api/covers/2217170/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2217170,
    "url": "http://patchwork.ozlabs.org/api/covers/2217170/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-ide/cover/20260327184706.1600329-1-vladimir.oltean@nxp.com/",
    "project": {
        "id": 13,
        "url": "http://patchwork.ozlabs.org/api/projects/13/?format=api",
        "name": "Linux IDE development",
        "link_name": "linux-ide",
        "list_id": "linux-ide.vger.kernel.org",
        "list_email": "linux-ide@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260327184706.1600329-1-vladimir.oltean@nxp.com>",
    "list_archive_url": null,
    "date": "2026-03-27T18:46:38",
    "name": "[v6,phy-next,00/28] Split Generic PHY consumer and provider",
    "submitter": {
        "id": 75582,
        "url": "http://patchwork.ozlabs.org/api/people/75582/?format=api",
        "name": "Vladimir Oltean",
        "email": "vladimir.oltean@nxp.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/linux-ide/cover/20260327184706.1600329-1-vladimir.oltean@nxp.com/mbox/",
    "series": [
        {
            "id": 497820,
            "url": "http://patchwork.ozlabs.org/api/series/497820/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-ide/list/?series=497820",
            "date": "2026-03-27T18:46:39",
            "name": "Split Generic PHY consumer and provider",
            "version": 6,
            "mbox": "http://patchwork.ozlabs.org/series/497820/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2217170/comments/",
    "headers": {
        "Return-Path": "\n <linux-ide+bounces-5359-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-ide@vger.kernel.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=QZFSYE4E;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c09:e001:a7::12fc:5321; helo=sto.lore.kernel.org;\n envelope-from=linux-ide+bounces-5359-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=\"QZFSYE4E\"",
            "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.83.36",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=nxp.com",
            "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nxp.com;"
        ],
        "Received": [
            "from sto.lore.kernel.org (sto.lore.kernel.org\n [IPv6:2600:3c09:e001:a7::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fj8nC6cH9z1y1x\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 28 Mar 2026 05:49:03 +1100 (AEDT)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id 36C8F3037760\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 27 Mar 2026 18:48:58 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id B2443372B2C;\n\tFri, 27 Mar 2026 18:48:42 +0000 (UTC)",
            "from GVXPR05CU001.outbound.protection.outlook.com\n (mail-swedencentralazon11013036.outbound.protection.outlook.com\n [52.101.83.36])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id EC8FE315D40;\n\tFri, 27 Mar 2026 18:48:39 +0000 (UTC)",
            "from DU2PR04MB8584.eurprd04.prod.outlook.com (2603:10a6:10:2db::24)\n by MRWPR04MB11287.eurprd04.prod.outlook.com (2603:10a6:501:79::20) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.22; Fri, 27 Mar\n 2026 18:48:32 +0000",
            "from DU2PR04MB8584.eurprd04.prod.outlook.com\n ([fe80::3f9d:4a01:f53c:952d]) by DU2PR04MB8584.eurprd04.prod.outlook.com\n ([fe80::3f9d:4a01:f53c:952d%5]) with mapi id 15.20.9745.019; Fri, 27 Mar 2026\n 18:48:32 +0000"
        ],
        "ARC-Seal": [
            "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774637322; cv=fail;\n b=LpZKX2BD8s2t/KEI5gqLOzGl1282RBF6rPHWNBTz9eVOeB1UMEIAtR+Uoj6yjlaOtj4V3FWq1HOr8wfqj1VoPIbFCql+vDsTh2bKzrvH8szQwkyz1l88l/mWX+VVds0105ngRpxpoQONajFAMtuT8XCHjNRWnYXVGFghXXUq+hM=",
            "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=GrcaGGNdzg9q5QzL+UBBdQacRPAsJecox3grpWSzh1MxP3xgJqTK/kjQ++LaW7V4ApiTCK3GIQxVmnFpvwmNFtnRrk1//0UaYi2Zo70pGmF1C8vz+aK46tifdihW+jkIdzYhkUqqP/nExqcsGDbpAoNjmiFddGNAZqo5jllqFP/kyPhoKNJj9cFTjq37y44DqbRMqUj/H2oIszMR5QyAx2fsKMgd6glF5o7LzGOWEfT2wgraY64gEEk4qggUtN2VQtNOXR/I8C+8F5h9Im1ooukbgMNxMFkXa6o/odIX7mScRbPbk3tqQMuLx/JcuJV84qxLvH3PXKjfkN6RL5F4RQ=="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774637322; c=relaxed/simple;\n\tbh=XbSyEbPhbFwLmgEObtCcySeFAsDGJayHqshPQl2xcEw=;\n\th=From:To:Cc:Subject:Date:Message-ID:Content-Type:MIME-Version;\n b=FkG/EGX4RNJd0ccYZqmWuCi4rk0TjHHSTIBzyuwTNqUtO92kR9p6Ufqr8KJxae7KpfmuZJSmcYBZ1A8O/DZmZgc7LUu16jKj+kOG+NIutZGPoRH1sksjHRGT8cWy4wtFyp+px155ayVoAr0RBiTdtpxT3T3b9MqaQ25DNdYmoG8=",
            "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=nlIKIolik68+oOtzl7yKCZaFvbV7ivxg+yVa2n/IZvw=;\n b=APQA8+tU6snELS7aRYYIF6qQXRUqR6kFfHJ6s4pJQivZi8kK9Txldx97vYDkkUpKVoM0eI5hBPf6QkHvLfog7ecXhYopzODRVcohv586n3etr8NjnEvwtJ2QQT+4X/cwHEdEKLVBC2VqRKHWUvdZtDQKLmYs5T6b+sUw+/rhvnriY8iFf/EZSVZYXbzEdHW1Ud6dXAAxXuRjf7wAxLBI5Tk1GsA2OpjL22jPvisodWcCQsFnA8pmoQT5K/8XPZxjBiBdMfH70p5Drci//WcXy6LuM1v6czY02UoCxWxDDGkjQRvHgLjKmYJFGg4jkGNKg54Ftf1+WXnA7zMmM19pcA=="
        ],
        "ARC-Authentication-Results": [
            "i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com;\n spf=pass smtp.mailfrom=nxp.com;\n dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=QZFSYE4E; arc=fail smtp.client-ip=52.101.83.36",
            "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass\n header.d=nxp.com; arc=none"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=nlIKIolik68+oOtzl7yKCZaFvbV7ivxg+yVa2n/IZvw=;\n b=QZFSYE4EHL1AqQM2kT4gIOamPtXx8KNB+mQ32DBJLbqSRzpgvA45GWrhfLTh/tseUONr8NKkTLrPHjg61TzaPZznuTvijeT4spfYrEjDYy/s1A6fGnnhO844JXferlgGDF695TI4SEeUHHiWp+4ZOk7/DLlK/Lh0/Z3/8241iqeR6UaKMX46rGxyVS8LwutZrwlafHek8s/s0Ya5WjQIK8URCK5N1YqMJsE9BQCgw302Et8bP7xg90c1Wu7DHZUNHpRAL0Ff4wXnne+vDCclSUtt4IweF39WdbqbfItDa+gxY4b3npWuF2+LlNDskRsvqann3kplPK2idVHZPlnzlA==",
        "From": "Vladimir Oltean <vladimir.oltean@nxp.com>",
        "To": "linux-phy@lists.infradead.org",
        "Cc": "Vinod Koul <vkoul@kernel.org>, Neil Armstrong <neil.armstrong@linaro.org>,\n dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org,\n linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org,\n linux-can@vger.kernel.org, linux-gpio@vger.kernel.org,\n linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org,\n linux-media@vger.kernel.org, linux-pci@vger.kernel.org,\n linux-renesas-soc@vger.kernel.org, linux-riscv@lists.infradead.org,\n linux-rockchip@lists.infradead.org, linux-samsung-soc@vger.kernel.org,\n linux-scsi@vger.kernel.org, linux-sunxi@lists.linux.dev,\n linux-tegra@vger.kernel.org, linux-usb@vger.kernel.org,\n netdev@vger.kernel.org, spacemit@lists.linux.dev,\n UNGLinuxDriver@microchip.com, Abhinav Kumar <abhinav.kumar@linux.dev>,\n Alexandre Belloni <alexandre.belloni@bootlin.com>, =?utf-8?q?Andr=C3=A9_Dra?=\n\t=?utf-8?q?szik?= <andre.draszik@linaro.org>,\n Andrew Lunn <andrew+netdev@lunn.ch>, Andrzej Hajda <andrzej.hajda@intel.com>,\n Andy Yan <andy.yan@rock-chips.com>, Bjorn Helgaas <bhelgaas@google.com>,\n Chanho Park <chanho61.park@samsung.com>, Chen-Yu Tsai <wens@kernel.org>,\n Claudiu Beznea <claudiu.beznea@tuxon.dev>,\n Damien Le Moal <dlemoal@kernel.org>,\n Daniel Machon <daniel.machon@microchip.com>,\n David Airlie <airlied@gmail.com>, \"David S. Miller\" <davem@davemloft.net>,\n Dmitry Baryshkov <lumag@kernel.org>, Eric Dumazet <edumazet@google.com>,\n Fabio Estevam <festevam@gmail.com>, Frank Li <Frank.Li@nxp.com>,\n Geert Uytterhoeven <geert+renesas@glider.be>,\n Greg Kroah-Hartman <gregkh@linuxfoundation.org>, =?utf-8?q?Heiko_St=C3=BCbn?=\n\t=?utf-8?q?er?= <heiko@sntech.de>, Inki Dae <inki.dae@samsung.com>,\n Jagan Teki <jagan@amarulasolutions.com>, Jakub Kicinski <kuba@kernel.org>,\n \"James E.J. Bottomley\" <James.Bottomley@HansenPartnership.com>,\n JC Kuo <jckuo@nvidia.com>, Jernej Skrabec <jernej.skrabec@gmail.com>,\n Jessica Zhang <jesszhan0024@gmail.com>, Joe Perches <joe@perches.com>,\n Johan Hovold <johan+linaro@kernel.org>, Jonas Karlman <jonas@kwiboo.se>,\n Jonathan Hunter <jonathanh@nvidia.com>,\n Kevin Xie <kevin.xie@starfivetech.com>,\n Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>, =?utf-8?q?Krzys?=\n\t=?utf-8?q?ztof_Wilczy=C5=84ski?= <kwilczynski@kernel.org>,\n Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,\n Linus Walleij <linusw@kernel.org>, Lorenzo Pieralisi <lpieralisi@kernel.org>,\n Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,\n Magnus Damm <magnus.damm@gmail.com>, Manivannan Sadhasivam <mani@kernel.org>,\n Marc Kleine-Budde <mkl@pengutronix.de>,\n Marek Szyprowski <m.szyprowski@samsung.com>,\n Marijn Suijten <marijn.suijten@somainline.org>,\n Markus Schneider-Pargmann <msp@baylibre.com>,\n \"Martin K. Petersen\" <martin.petersen@oracle.com>,\n Mathias Nyman <mathias.nyman@intel.com>,\n Mauro Carvalho Chehab <mchehab@kernel.org>,\n Maxime Ripard <mripard@kernel.org>, Michael Dege <michael.dege@renesas.com>,\n Nicolas Ferre <nicolas.ferre@microchip.com>,\n Niklas Cassel <cassel@kernel.org>, Nitin Rawat <quic_nitirawa@quicinc.com>,\n Paolo Abeni <pabeni@redhat.com>,\n Pengutronix Kernel Team <kernel@pengutronix.de>,\n Peter Chen <peter.chen@kernel.org>, Peter Griffin <peter.griffin@linaro.org>,\n Rob Clark <robin.clark@oss.qualcomm.com>, Robert Foss <rfoss@kernel.org>,\n Rob Herring <robh@kernel.org>,\n \"Russell King (Oracle)\" <rmk+kernel@armlinux.org.uk>,\n Samuel Holland <samuel@sholland.org>, Sandy Huang <hjc@rock-chips.com>,\n Sascha Hauer <s.hauer@pengutronix.de>, Sean Paul <sean@poorly.run>,\n Sebastian Reichel <sre@kernel.org>, Shawn Guo <shawn.guo@linaro.org>,\n Shawn Lin <shawn.lin@rock-chips.com>, Simona Vetter <simona@ffwll.ch>,\n Steen Hegelund <Steen.Hegelund@microchip.com>,\n Thierry Reding <thierry.reding@gmail.com>,\n Thinh Nguyen <Thinh.Nguyen@synopsys.com>,\n Thomas Zimmermann <tzimmermann@suse.de>,\n Tudor Ambarus <tudor.ambarus@linaro.org>,\n Vincent Mailhol <mailhol@kernel.org>, Yixun Lan <dlan@kernel.org>,\n Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>",
        "Subject": "[PATCH v6 phy-next 00/28] Split Generic PHY consumer and provider",
        "Date": "Fri, 27 Mar 2026 20:46:38 +0200",
        "Message-ID": "<20260327184706.1600329-1-vladimir.oltean@nxp.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-ClientProxiedBy": "VI1P195CA0090.EURP195.PROD.OUTLOOK.COM\n (2603:10a6:802:59::43) To DU2PR04MB8584.eurprd04.prod.outlook.com\n (2603:10a6:10:2db::24)",
        "Precedence": "bulk",
        "X-Mailing-List": "linux-ide@vger.kernel.org",
        "List-Id": "<linux-ide.vger.kernel.org>",
        "List-Subscribe": "<mailto:linux-ide+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:linux-ide+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "DU2PR04MB8584:EE_|MRWPR04MB11287:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "8fb52ca0-4c09-4a5d-e14b-08de8c3171d2",
        "X-LD-Processed": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "\n BCL:0;ARA:13230040|7416014|376014|1800799024|366016|10070799003|19092799006|18002099003|56012099003;",
        "X-Microsoft-Antispam-Message-Info": "\n SoGlkygr5M2tOU4xBGVTzbkK5m4BinWx8Jd1GCiuz3Y/QuLzJajk1FovukjADp55knbRFWFugJkraG+OinvqJkgAMrl9b7fQlPfl32OQSiQ4KZjK2XX9822m0/qIZrEzM8XbUwbOiTIIyltPwbkpofk9A13xi/dbs18uoPEsXj4XVHzzee1pnZiBKTwD34Qy2ibohaCeKXq35oySfOKGYG7szXUtTl8SvLib/L5WHfxNKCm0oaVQAxo/JSGoWO9TrRndvol9ipvmXKC1QqPTkA+CiYpAzbF4NKU17n2B6mX1vBKnqr8PRgmkoeC9j4stolG4QOb6icnptjNZ/zc0reWyl41pkChMCb7AQadHMm7hDwVJuujqJh9ZfN7pHDZJGqV2yuY5shJePMw8rndeJRTGgPEsfLSLWfs+bIx1WZSaPbx1uDrYZet1jR4baJBJ6smi6PSDfQOYON9qOV5qipj5GbmUHYb77xF0n3L7SOK8Z1xjH/wIHHeHtsq1FonRcxMK4UsQujBxifeP7R2fzOsmVMRixwdTmW6B3eRVYwGvUXPy4utFSgI86Ek3W+5z60bx2Dt+fe4crJWN36ATNfGcofZX9b46jRsHVhu+55pC5UIe/oQ0cffCxa9z4FDWq3t7zRXIF1tW5WDms4UpsLAKxw2xhlKklojJ4pH7bxRsxCFrFFWdn6lREWyYReTYSrBHkv8XnAkGWaMIpEJegBo/HYVIl1bgfbfye2ikpRFdFlgHZD8oDtOUdjdgLUF1",
        "X-Forefront-Antispam-Report": "\n CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8584.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(366016)(10070799003)(19092799006)(18002099003)(56012099003);DIR:OUT;SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "2",
        "X-MS-Exchange-AntiSpam-MessageData-0": "=?utf-8?q?fJnsmeMbZfW69kCWj4Nz0tdVzbAw?=\n\t=?utf-8?q?UPo/wdk9FWa3h9A/jvkV0I7dfTN/MbjH7r903QT+qJZIikXT8gVgCvlhhPjFDgBL6?=\n\t=?utf-8?q?es51EUuIrTLvuMKOpia2z5BKiDml0VDe2XTNyOO3JEy932scG1wA6IKYvKWrt13gW?=\n\t=?utf-8?q?xavWvcZNSYZbdpaGMMtqFaBGTMDKDPQbWO8oyWhFgm0LOQi5s82psZy68j9oN9Joz?=\n\t=?utf-8?q?Af6nM9vjD233wDwv0JQ5cDULTyQ4iMqeXpKHKAheZjnvXm229fwurIcSTOzSwWYcE?=\n\t=?utf-8?q?K1WyCD4rBD1xIMKpY0/KX8uZeqzb4D/VmmqraAk0m+jTgmFzXz/55XhGy82GzyrFC?=\n\t=?utf-8?q?pzdwvof6x2y+hAoywhlk4FdjuTKqI/GuJp2Xla12n+LByce53Rapg0rwYcVJHHJDz?=\n\t=?utf-8?q?Ha1VyI8N3k2PJI/FIHNceHkEUn9uYdWjsS3IEJ8f9F0eCRMYwaTdHyym1q6Pw6yFI?=\n\t=?utf-8?q?VcCQD9KBQXtgpva8OcjeeHUaSaxU9GQRzUlnK/k8ZeFzOOwEDhqE+Cr2ji/uwxQiQ?=\n\t=?utf-8?q?CSKCfgJdPlagYchNAvEa75WJdiMDudeuSIkxmu8VQJJO7N95b0ql2TYqZfxyYrFF7?=\n\t=?utf-8?q?/BZ1OwYOTdu/TAGy+N/E0xaBGkmsmve9tR16veHi1SUd7abTeOaO9AmmHg9A1Xb92?=\n\t=?utf-8?q?8Orr9DSabERaD9nWjHEtc6DhBCM6lWQjK0rUlHtKaZ8SLDATa9uOHuuyiw4Wda/AI?=\n\t=?utf-8?q?5QykNQV/hR8NpWnFSmnRZyFj7yqYFm7nlCY1Z6Wi7Gqo7vNkJBAHDe45MSDi73bo9?=\n\t=?utf-8?q?8rg0TrTnvCO6M06apnKLIWr8Aym1tg9L9I6QkIoVK3wmkftEM7JC43oG83pM5u8rm?=\n\t=?utf-8?q?DvR1OzaCZs8ppiBHl7elvygzuZmv451+6kq012BiMl/IRe92pTox17fi7uTZJaqp9?=\n\t=?utf-8?q?nRqTX/3HUwhHe5wdko6qWKyV6ShHPsFwe3QJYDxsG6D42FmaDCn4n6MpFO4wYN+s3?=\n\t=?utf-8?q?Vk8WhOGOmr9VxxtYJNk5hKLleqBRejT8VDUM9c5Xo0Ja9m6bU0a5GHvv05ZHRd6KZ?=\n\t=?utf-8?q?xKunkOwH2GLrfq9OkqI2EA/kT18xlvFlg7iTgypEY6Wo8axp8mCFAdZETKBO3lt1w?=\n\t=?utf-8?q?kygHIcTMH3DISd9BS87ZfsL6J3IgznSN23j9XI+aJFb6fb2j1I7D/CAM0+ukzxsCs?=\n\t=?utf-8?q?7hugzufy97ttSw6ZsAh+dU4zm8v5mksUpfbwZoK+rCfSqm261nRjiA0i2RGwU4ZRU?=\n\t=?utf-8?q?O/vCIUimOxAGVLkSq0o5gs13qHqyg6PJAIA9v0ee/U0nRp/ElNWEN9zsdHDA+TCTE?=\n\t=?utf-8?q?QcQredupQDKwjOZLXCEdaNXWwIn/oMf+wFJ9KX2QDHvzk9AYo/TanD8xOi2JN/4xj?=\n\t=?utf-8?q?iSNPVEV7o/ad7OLDdve0MwnpQs/BqzvKnFbUPOYNaA6N9l7yaOjkF5K6YmsC19p98?=\n\t=?utf-8?q?qQSSRuKXR7wI0qZ8fmhHRQlhmELPOXFZ7CyEbNSaBECaKtOe8JvIjcD2UqN3qE+8U?=\n\t=?utf-8?q?R3OxYgS/q6GB/ViIgZJ2u4i3rp0zU6j1guyr1hTe8NxQOGuR9V7yLrP90/+xOvME7?=\n\t=?utf-8?q?xrhhqASQi7henJHcKNXNoNZgLIlqfqUy5xZe+USsNlWbKXUJ5D2PK4dzSegf1xcq9?=\n\t=?utf-8?q?ZV496Bo9Wn+j2KS/vCxnDoPTlohsrLxbovEOBy9FqDnCsmERKkEe+BRlhO0bpAoes?=\n\t=?utf-8?q?JU0OMg5lnQ4w0mc9zdSIzIb4JiZBLzx4cbcsbGQusFOy8aoRDCGJ97pTwPTlKqWVs?=\n\t=?utf-8?q?eJNPbcjQ9y57kkWZL?=",
        "X-MS-Exchange-AntiSpam-MessageData-1": "q6hn+IpUcZ4miourcXb6r/uJ+iRNmQkHEnw=",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 8fb52ca0-4c09-4a5d-e14b-08de8c3171d2",
        "X-MS-Exchange-CrossTenant-AuthSource": "DU2PR04MB8584.eurprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "27 Mar 2026 18:48:32.6141\n (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": "\n G40NUsY4sZvtXVVY307qZFwTvH+VEUizE+obP0hb1GL3Rsvidk2E6Gw1NpKvp+a57VoOjaCfW00UvDwQpAADwA==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "MRWPR04MB11287"
    },
    "content": "The biggest problem requiring this split is the fact that consumer\ndrivers poke around in struct phy, accessing fields which shouldn't be\nvisible to them. Follow the example of mux, gpio, iio, spi offload,\npwrsec, pinctrl and regulator, which each expose separate headers for\nconsumers and providers.\n\nSome off-list discussions were had with Vinod Koul regarding the 3 PHY\nproviders outside the drivers/phy/ subsystem. It was agreed that it is\ndesirable to relocate them to drivers/phy/, rather than to publish\nphy-provider.h to include/linux/phy/ for liberal use. Only phy.h and\n(new) phy-props.h - consumer-facing headers - stay there.\n\nThe hope is that developers get a hint when they need to include the\nwrong header to get their job done.\n\nIf that fails, patch 28/28 adds a regex in the MAINTAINERS entry that\nensures linux-phy is copied on all Generic PHY patches, for an extra set\nof eyes.\n\nThe series is formatted on linux-phy/next for build testing, but is\nintended to be applied on top of commit\nhttps://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=4ff5801f45b494ad8251a16ec06c9f303ed3b9a0\nwhich is v7.0-rc1 + 1 patch, and then merged into linux-phy/next.\nThe idea being that it's better to resolve the merge conflict early.\nThere are 4 expected conflicts, details in the conflicting patches\n(25/28 and 26/28).\n\nRequested merge strategy, I hope this works for everyone:\n- Subsystem maintainers ACK their affected portions\n- Entire series goes through linux-phy\n- linux-phy provides stable tag\n- (optionally, but recommended) Said tag is merged back into affected\n  subsystem 'next' branches. Those who strongly prefer can handle merge\n  conflicts when they send their PR. But this series unexports a lot of\n  stuff from <linux/phy/phy.h> which may cause breakage if still used\n  later, directly or not, in other subsystems.\n\nDetailed change log in patches, summary below.\n\nv5->v6:\n- new patch 11/28 to avoid build breakage in ufs-qcom.c for armv7\n- expanded CC list coverage\nv4->v5:\n- fix additional compilation breakage caught by better build coverage.\n  PCI patch 02/27 received an extra change for pcie-spacemit-k1.c,\n  patch 10/27 (for ufs-qcom.c) is new, so are 12/27 and 13/27 for Tegra\n  USB (host and gadget)\nv3->v4:\n- fix build breakage in drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c and\n  include/linux/phy/tegra/xusb.h added by patch 22/24\nv2->v3:\n- remove unused variable in PCI after device link removal\n- update MAINTAINERS regex pattern to escape forward slashes\n- add more people to CC list\n- provide conflict resolution\nv1->v2:\n- split \"phy: include PHY provider header\" into smaller chunks to work\n  around mailing list moderation due to patch size\n- improve MAINTAINERS regex pattern\n- make all PHY attribute helpers NULL-tolerant. Not just the new\n  phy_get_bus_width(), but also retroactively, the existing ones.\n- fixed the temporary include path from <linux/phy/phy.h> to\n  \"phy-provider.h\", removed anyway by the end of the series\n- logical bug fixes in the PCI controller <-> PHY device link removal\n  and Exynos UFS PHY API rework\n\nIn case anyone wants to test the series, here it is on top of linux-phy/next:\nhttps://github.com/vladimiroltean/linux/tree/phy-split-consumer-provider-v6\n\nI've also test-applied it on v7.0-rc1 and provided conflict resolution\nwith net-next and with linux-phy/next:\nhttps://github.com/vladimiroltean/linux/commits/phy-split-consumer-provider-v6-merge/\n\nv5 at:\nhttps://lore.kernel.org/linux-phy/20260319223241.1351137-1-vladimir.oltean@nxp.com/\nv4 at:\nhttps://lore.kernel.org/linux-phy/20260317230500.2056077-1-vladimir.oltean@nxp.com/\nv3 at:\nhttps://lore.kernel.org/linux-phy/20260309190842.927634-1-vladimir.oltean@nxp.com/\nv2 at:\nhttps://lore.kernel.org/linux-phy/20260308114009.2546587-1-vladimir.oltean@nxp.com/\nv1 at:\nhttps://lore.kernel.org/linux-phy/20260304175735.2660419-13-vladimir.oltean@nxp.com/\n\nCc: Abhinav Kumar <abhinav.kumar@linux.dev>\nCc: Alexandre Belloni <alexandre.belloni@bootlin.com>\nCc: \"André Draszik\" <andre.draszik@linaro.org>\nCc: Andrew Lunn <andrew+netdev@lunn.ch>\nCc: Andrzej Hajda <andrzej.hajda@intel.com>\nCc: Andy Yan <andy.yan@rock-chips.com>\nCc: Bjorn Helgaas <bhelgaas@google.com>\nCc: Chanho Park <chanho61.park@samsung.com>\nCc: Chen-Yu Tsai <wens@kernel.org>\nCc: Claudiu Beznea <claudiu.beznea@tuxon.dev>\nCc: Damien Le Moal <dlemoal@kernel.org>\nCc: Daniel Machon <daniel.machon@microchip.com>\nCc: David Airlie <airlied@gmail.com>\nCc: \"David S. Miller\" <davem@davemloft.net>\nCc: Dmitry Baryshkov <lumag@kernel.org>\nCc: Eric Dumazet <edumazet@google.com>\nCc: Fabio Estevam <festevam@gmail.com>\nCc: Frank Li <Frank.Li@nxp.com>\nCc: Geert Uytterhoeven <geert+renesas@glider.be>\nCc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nCc: \"Heiko Stübner\" <heiko@sntech.de>\nCc: Inki Dae <inki.dae@samsung.com>\nCc: Jagan Teki <jagan@amarulasolutions.com>\nCc: Jakub Kicinski <kuba@kernel.org>\nCc: \"James E.J. Bottomley\" <James.Bottomley@HansenPartnership.com>\nCc: JC Kuo <jckuo@nvidia.com>\nCc: Jernej Skrabec <jernej.skrabec@gmail.com>\nCc: Jessica Zhang <jesszhan0024@gmail.com>\nCc: Joe Perches <joe@perches.com>\nCc: Johan Hovold <johan+linaro@kernel.org>\nCc: Jonas Karlman <jonas@kwiboo.se>\nCc: Jonathan Hunter <jonathanh@nvidia.com>\nCc: Kevin Xie <kevin.xie@starfivetech.com>\nCc: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>\nCc: \"Krzysztof Wilczyński\" <kwilczynski@kernel.org>\nCc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>\nCc: Linus Walleij <linusw@kernel.org>\nCc: Lorenzo Pieralisi <lpieralisi@kernel.org>\nCc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>\nCc: Magnus Damm <magnus.damm@gmail.com>\nCc: Manivannan Sadhasivam <mani@kernel.org>\nCc: Marc Kleine-Budde <mkl@pengutronix.de>\nCc: Marek Szyprowski <m.szyprowski@samsung.com>\nCc: Marijn Suijten <marijn.suijten@somainline.org>\nCc: Markus Schneider-Pargmann <msp@baylibre.com>\nCc: \"Martin K. Petersen\" <martin.petersen@oracle.com>\nCc: Mathias Nyman <mathias.nyman@intel.com>\nCc: Mauro Carvalho Chehab <mchehab@kernel.org>\nCc: Maxime Ripard <mripard@kernel.org>\nCc: Michael Dege <michael.dege@renesas.com>\nCc: Neil Armstrong <neil.armstrong@linaro.org>\nCc: Nicolas Ferre <nicolas.ferre@microchip.com>\nCc: Niklas Cassel <cassel@kernel.org>\nCc: Nitin Rawat <quic_nitirawa@quicinc.com>\nCc: Paolo Abeni <pabeni@redhat.com>\nCc: Pengutronix Kernel Team <kernel@pengutronix.de>\nCc: Peter Chen <peter.chen@kernel.org>\nCc: Peter Griffin <peter.griffin@linaro.org>\nCc: Rob Clark <robin.clark@oss.qualcomm.com>\nCc: Robert Foss <rfoss@kernel.org>\nCc: Rob Herring <robh@kernel.org>\nCc: \"Russell King (Oracle)\" <rmk+kernel@armlinux.org.uk>\nCc: Samuel Holland <samuel@sholland.org>\nCc: Sandy Huang <hjc@rock-chips.com>\nCc: Sascha Hauer <s.hauer@pengutronix.de>\nCc: Sean Paul <sean@poorly.run>\nCc: Sebastian Reichel <sre@kernel.org>\nCc: Shawn Guo <shawn.guo@linaro.org>\nCc: Shawn Lin <shawn.lin@rock-chips.com>\nCc: Simona Vetter <simona@ffwll.ch>\nCc: Steen Hegelund <Steen.Hegelund@microchip.com>\nCc: Thierry Reding <thierry.reding@gmail.com>\nCc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>\nCc: Thomas Zimmermann <tzimmermann@suse.de>\nCc: Tudor Ambarus <tudor.ambarus@linaro.org>\nCc: Vincent Mailhol <mailhol@kernel.org>\nCc: Yixun Lan <dlan@kernel.org>\nCc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>\n\nVladimir Oltean (28):\n  ata: add <linux/pm_runtime.h> where missing\n  PCI: Add missing headers transitively included by <linux/phy/phy.h>\n  usb: add missing headers transitively included by <linux/phy/phy.h>\n  drm: add <linux/pm_runtime.h> where missing\n  phy: add <linux/pm_runtime.h> where missing\n  phy: spacemit: include missing <linux/phy/phy.h>\n  net: lan969x: include missing <linux/of.h>\n  PCI: Remove device links to PHY\n  scsi: ufs: exynos: stop poking into struct phy guts\n  scsi: ufs: qcom: keep parallel track of PHY power state\n  scsi: ufs: qcom: include missing <linux/interrupt.h>\n  drm/rockchip: dw_hdmi: avoid direct dereference of phy->dev.of_node\n  usb: host: tegra: avoid direct dereference of phy->dev.of_node\n  usb: gadget: tegra-xudc: avoid direct dereference of phy->dev.of_node\n  drm/msm/dp: remove debugging prints with internal struct phy state\n  phy: move provider API out of public <linux/phy/phy.h>\n  phy: make phy_get_mode(), phy_(get|set)_bus_width() NULL tolerant\n  phy: introduce phy_get_max_link_rate() helper for consumers\n  drm/rockchip: dsi: include PHY provider header\n  drm: bridge: cdns-mhdp8546: use consumer API for getting PHY bus width\n  media: sunxi: a83-mips-csi2: include PHY provider header\n  net: renesas: rswitch: include PHY provider header\n  pinctrl: tegra-xusb: include PHY provider header\n  power: supply: cpcap-charger: include missing <linux/property.h>\n  phy: include PHY provider header (1/2)\n  phy: include PHY provider header (2/2)\n  phy: remove temporary provider compatibility from consumer header\n  MAINTAINERS: add regexes for linux-phy\n\n MAINTAINERS                                   |  11 +\n drivers/ata/ahci.c                            |   1 +\n drivers/ata/ahci_brcm.c                       |   1 +\n drivers/ata/ahci_ceva.c                       |   1 +\n drivers/ata/ahci_qoriq.c                      |   1 +\n drivers/ata/libahci.c                         |   1 +\n .../drm/bridge/analogix/analogix_dp_core.c    |   1 +\n .../drm/bridge/cadence/cdns-mhdp8546-core.c   |   7 +-\n drivers/gpu/drm/bridge/nwl-dsi.c              |   1 +\n drivers/gpu/drm/bridge/samsung-dsim.c         |   1 +\n drivers/gpu/drm/bridge/synopsys/dw-dp.c       |   2 +-\n drivers/gpu/drm/msm/dp/dp_aux.c               |   1 +\n drivers/gpu/drm/msm/dp/dp_ctrl.c              |  18 -\n drivers/gpu/drm/rockchip/cdn-dp-core.c        |   1 +\n .../gpu/drm/rockchip/dw-mipi-dsi-rockchip.c   |   1 +\n drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c   |  25 +-\n .../sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c    |   2 +-\n drivers/net/can/at91_can.c                    |   3 +-\n drivers/net/can/flexcan/flexcan-core.c        |   3 +-\n drivers/net/can/m_can/m_can_platform.c        |   3 +-\n drivers/net/can/rcar/rcar_canfd.c             |   3 +-\n .../microchip/sparx5/lan969x/lan969x_rgmii.c  |   1 +\n drivers/net/ethernet/renesas/rswitch_main.c   |   1 +\n .../controller/cadence/pcie-cadence-plat.c    |   4 -\n drivers/pci/controller/cadence/pcie-cadence.c |  16 +-\n drivers/pci/controller/cadence/pcie-cadence.h |   2 -\n drivers/pci/controller/dwc/pci-dra7xx.c       |  16 -\n drivers/pci/controller/dwc/pci-keystone.c     |  32 +-\n drivers/pci/controller/dwc/pcie-dw-rockchip.c |   1 +\n drivers/pci/controller/dwc/pcie-histb.c       |   1 +\n drivers/pci/controller/dwc/pcie-qcom-ep.c     |   1 +\n drivers/pci/controller/dwc/pcie-spacemit-k1.c |   3 +\n drivers/pci/controller/dwc/pcie-tegra194.c    |   1 +\n drivers/pci/controller/pci-tegra.c            |   1 +\n drivers/pci/controller/pcie-rockchip-host.c   |   1 +\n drivers/pci/controller/plda/pcie-starfive.c   |   1 +\n drivers/phy/allwinner/phy-sun4i-usb.c         |   3 +-\n drivers/phy/allwinner/phy-sun50i-usb3.c       |   3 +-\n drivers/phy/allwinner/phy-sun6i-mipi-dphy.c   |   4 +-\n drivers/phy/allwinner/phy-sun9i-usb.c         |   3 +-\n drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c |   2 +\n .../amlogic/phy-meson-axg-mipi-pcie-analog.c  |   3 +-\n drivers/phy/amlogic/phy-meson-axg-pcie.c      |   2 +\n .../amlogic/phy-meson-g12a-mipi-dphy-analog.c |   3 +-\n drivers/phy/amlogic/phy-meson-g12a-usb2.c     |   2 +\n .../phy/amlogic/phy-meson-g12a-usb3-pcie.c    |   3 +-\n drivers/phy/amlogic/phy-meson-gxl-usb2.c      |   3 +-\n drivers/phy/amlogic/phy-meson8-hdmi-tx.c      |   3 +-\n drivers/phy/amlogic/phy-meson8b-usb2.c        |   3 +-\n drivers/phy/apple/atc.c                       |   3 +-\n drivers/phy/broadcom/phy-bcm-cygnus-pcie.c    |   3 +-\n drivers/phy/broadcom/phy-bcm-kona-usb2.c      |   4 +-\n drivers/phy/broadcom/phy-bcm-ns-usb2.c        |   3 +-\n drivers/phy/broadcom/phy-bcm-ns-usb3.c        |   3 +-\n drivers/phy/broadcom/phy-bcm-ns2-pcie.c       |   3 +-\n drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c     |   3 +-\n drivers/phy/broadcom/phy-bcm-sr-pcie.c        |   3 +-\n drivers/phy/broadcom/phy-bcm-sr-usb.c         |   3 +-\n drivers/phy/broadcom/phy-bcm63xx-usbh.c       |   3 +-\n drivers/phy/broadcom/phy-brcm-sata.c          |   3 +-\n drivers/phy/broadcom/phy-brcm-usb.c           |   2 +-\n drivers/phy/cadence/cdns-dphy-rx.c            |   3 +-\n drivers/phy/cadence/cdns-dphy.c               |   4 +-\n drivers/phy/cadence/phy-cadence-salvo.c       |   3 +-\n drivers/phy/cadence/phy-cadence-sierra.c      |   3 +-\n drivers/phy/cadence/phy-cadence-torrent.c     |   3 +-\n drivers/phy/canaan/phy-k230-usb.c             |   3 +-\n drivers/phy/eswin/phy-eic7700-sata.c          |   3 +-\n .../phy/freescale/phy-fsl-imx8-mipi-dphy.c    |   3 +-\n drivers/phy/freescale/phy-fsl-imx8m-pcie.c    |   4 +-\n drivers/phy/freescale/phy-fsl-imx8mq-usb.c    |   3 +-\n drivers/phy/freescale/phy-fsl-imx8qm-hsio.c   |   6 +-\n .../phy/freescale/phy-fsl-imx8qm-lvds-phy.c   |   3 +-\n drivers/phy/freescale/phy-fsl-lynx-28g.c      |   3 +-\n drivers/phy/hisilicon/phy-hi3660-usb3.c       |   3 +-\n drivers/phy/hisilicon/phy-hi3670-pcie.c       |   3 +-\n drivers/phy/hisilicon/phy-hi3670-usb3.c       |   3 +-\n drivers/phy/hisilicon/phy-hi6220-usb.c        |   3 +-\n drivers/phy/hisilicon/phy-hisi-inno-usb2.c    |   4 +-\n drivers/phy/hisilicon/phy-histb-combphy.c     |   3 +-\n drivers/phy/hisilicon/phy-hix5hd2-sata.c      |   3 +-\n drivers/phy/ingenic/phy-ingenic-usb.c         |   3 +-\n drivers/phy/intel/phy-intel-keembay-emmc.c    |   3 +-\n drivers/phy/intel/phy-intel-keembay-usb.c     |   3 +-\n drivers/phy/intel/phy-intel-lgm-combo.c       |   4 +-\n drivers/phy/intel/phy-intel-lgm-emmc.c        |   3 +-\n drivers/phy/lantiq/phy-lantiq-rcu-usb2.c      |   3 +-\n drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c   |   4 +-\n drivers/phy/marvell/phy-armada375-usb2.c      |   3 +-\n drivers/phy/marvell/phy-armada38x-comphy.c    |   3 +-\n drivers/phy/marvell/phy-berlin-sata.c         |   3 +-\n drivers/phy/marvell/phy-berlin-usb.c          |   3 +-\n drivers/phy/marvell/phy-mmp3-hsic.c           |   3 +-\n drivers/phy/marvell/phy-mmp3-usb.c            |   3 +-\n drivers/phy/marvell/phy-mvebu-a3700-comphy.c  |   3 +-\n drivers/phy/marvell/phy-mvebu-a3700-utmi.c    |   3 +-\n drivers/phy/marvell/phy-mvebu-cp110-comphy.c  |   3 +-\n drivers/phy/marvell/phy-mvebu-cp110-utmi.c    |   3 +-\n drivers/phy/marvell/phy-mvebu-sata.c          |   3 +-\n drivers/phy/marvell/phy-pxa-28nm-hsic.c       |   3 +-\n drivers/phy/marvell/phy-pxa-28nm-usb2.c       |   3 +-\n drivers/phy/marvell/phy-pxa-usb.c             |   3 +-\n drivers/phy/mediatek/phy-mtk-dp.c             |   3 +-\n drivers/phy/mediatek/phy-mtk-hdmi-mt8195.c    |   1 -\n drivers/phy/mediatek/phy-mtk-hdmi.h           |   3 +-\n drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c   |   2 +-\n drivers/phy/mediatek/phy-mtk-mipi-dsi.h       |   3 +-\n drivers/phy/mediatek/phy-mtk-pcie.c           |   2 +-\n drivers/phy/mediatek/phy-mtk-tphy.c           |   2 +-\n drivers/phy/mediatek/phy-mtk-ufs.c            |   2 +-\n drivers/phy/mediatek/phy-mtk-xfi-tphy.c       |   2 +-\n drivers/phy/mediatek/phy-mtk-xsphy.c          |   2 +-\n drivers/phy/microchip/lan966x_serdes.c        |   4 +-\n drivers/phy/microchip/sparx5_serdes.c         |   2 +-\n drivers/phy/motorola/phy-cpcap-usb.c          |   3 +-\n drivers/phy/motorola/phy-mapphone-mdm6600.c   |   5 +-\n drivers/phy/mscc/phy-ocelot-serdes.c          |   3 +-\n drivers/phy/nuvoton/phy-ma35d1-usb2.c         |   3 +-\n drivers/phy/phy-airoha-pcie.c                 |   2 +-\n drivers/phy/phy-can-transceiver.c             |   3 +-\n drivers/phy/phy-core-mipi-dphy.c              |   4 +-\n drivers/phy/phy-core.c                        |  52 ++\n drivers/phy/phy-google-usb.c                  |   4 +-\n drivers/phy/phy-lpc18xx-usb-otg.c             |   3 +-\n drivers/phy/phy-nxp-ptn3222.c                 |   3 +-\n drivers/phy/phy-pistachio-usb.c               |   4 +-\n drivers/phy/phy-provider.h                    | 256 +++++++++\n drivers/phy/phy-snps-eusb2.c                  |   2 +\n drivers/phy/phy-xgene.c                       |   3 +-\n drivers/phy/qualcomm/phy-ath79-usb.c          |   3 +-\n drivers/phy/qualcomm/phy-qcom-apq8064-sata.c  |   3 +-\n drivers/phy/qualcomm/phy-qcom-edp.c           |   3 +-\n .../phy/qualcomm/phy-qcom-eusb2-repeater.c    |   3 +-\n drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c   |   3 +-\n drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c  |   3 +-\n drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c   |   3 +-\n drivers/phy/qualcomm/phy-qcom-m31-eusb2.c     |   2 +\n drivers/phy/qualcomm/phy-qcom-m31.c           |   3 +-\n drivers/phy/qualcomm/phy-qcom-pcie2.c         |   3 +-\n drivers/phy/qualcomm/phy-qcom-qmp-combo.c     |   4 +-\n .../phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c  |   3 +-\n drivers/phy/qualcomm/phy-qcom-qmp-pcie.c      |   3 +-\n drivers/phy/qualcomm/phy-qcom-qmp-ufs.c       |   3 +-\n .../phy/qualcomm/phy-qcom-qmp-usb-legacy.c    |   4 +-\n drivers/phy/qualcomm/phy-qcom-qmp-usb.c       |   4 +-\n drivers/phy/qualcomm/phy-qcom-qmp-usbc.c      |   4 +-\n drivers/phy/qualcomm/phy-qcom-qusb2.c         |   5 +-\n drivers/phy/qualcomm/phy-qcom-sgmii-eth.c     |   3 +-\n drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c |   4 +-\n .../phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c  |   3 +-\n drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c   |   3 +-\n drivers/phy/qualcomm/phy-qcom-usb-hs.c        |   3 +-\n drivers/phy/qualcomm/phy-qcom-usb-hsic.c      |   3 +-\n drivers/phy/qualcomm/phy-qcom-usb-ss.c        |   3 +-\n drivers/phy/ralink/phy-mt7621-pci.c           |   3 +-\n drivers/phy/ralink/phy-ralink-usb.c           |   3 +-\n drivers/phy/realtek/phy-rtk-usb2.c            |   3 +-\n drivers/phy/realtek/phy-rtk-usb3.c            |   3 +-\n drivers/phy/renesas/phy-rcar-gen2.c           |   3 +-\n drivers/phy/renesas/phy-rcar-gen3-pcie.c      |   4 +-\n drivers/phy/renesas/phy-rcar-gen3-usb2.c      |   3 +-\n drivers/phy/renesas/phy-rcar-gen3-usb3.c      |   3 +-\n drivers/phy/renesas/phy-rzg3e-usb3.c          |   3 +-\n drivers/phy/renesas/r8a779f0-ether-serdes.c   |   4 +-\n drivers/phy/rockchip/phy-rockchip-dp.c        |   3 +-\n drivers/phy/rockchip/phy-rockchip-dphy-rx0.c  |   3 +-\n drivers/phy/rockchip/phy-rockchip-emmc.c      |   3 +-\n .../phy/rockchip/phy-rockchip-inno-csidphy.c  |   3 +-\n .../phy/rockchip/phy-rockchip-inno-dsidphy.c  |   4 +-\n drivers/phy/rockchip/phy-rockchip-inno-hdmi.c |   2 +\n drivers/phy/rockchip/phy-rockchip-inno-usb2.c |   3 +-\n .../rockchip/phy-rockchip-naneng-combphy.c    |   3 +-\n drivers/phy/rockchip/phy-rockchip-pcie.c      |   2 +-\n .../phy/rockchip/phy-rockchip-samsung-dcphy.c |   3 +-\n .../phy/rockchip/phy-rockchip-samsung-hdptx.c |   2 +\n .../phy/rockchip/phy-rockchip-snps-pcie3.c    |   3 +-\n drivers/phy/rockchip/phy-rockchip-typec.c     |   5 +-\n drivers/phy/rockchip/phy-rockchip-usb.c       |   3 +-\n drivers/phy/rockchip/phy-rockchip-usbdp.c     |   2 +\n drivers/phy/samsung/phy-exynos-dp-video.c     |   3 +-\n drivers/phy/samsung/phy-exynos-mipi-video.c   |   3 +-\n drivers/phy/samsung/phy-exynos-pcie.c         |   3 +-\n drivers/phy/samsung/phy-exynos4210-usb2.c     |   3 +-\n drivers/phy/samsung/phy-exynos4x12-usb2.c     |   3 +-\n drivers/phy/samsung/phy-exynos5-usbdrd.c      |   2 +\n drivers/phy/samsung/phy-exynos5250-sata.c     |   3 +-\n drivers/phy/samsung/phy-exynos5250-usb2.c     |   3 +-\n drivers/phy/samsung/phy-s5pv210-usb2.c        |   3 +-\n drivers/phy/samsung/phy-samsung-ufs.c         |   2 +-\n drivers/phy/samsung/phy-samsung-ufs.h         |   3 +-\n drivers/phy/samsung/phy-samsung-usb2.c        |   2 +\n drivers/phy/samsung/phy-samsung-usb2.h        |   3 +-\n drivers/phy/socionext/phy-uniphier-ahci.c     |   3 +-\n drivers/phy/socionext/phy-uniphier-pcie.c     |   3 +-\n drivers/phy/socionext/phy-uniphier-usb2.c     |   3 +-\n drivers/phy/socionext/phy-uniphier-usb3hs.c   |   3 +-\n drivers/phy/socionext/phy-uniphier-usb3ss.c   |   3 +-\n drivers/phy/sophgo/phy-cv1800-usb2.c          |   3 +-\n drivers/phy/spacemit/phy-k1-pcie.c            |   4 +-\n drivers/phy/spacemit/phy-k1-usb2.c            |   2 +\n drivers/phy/st/phy-miphy28lp.c                |   4 +-\n drivers/phy/st/phy-spear1310-miphy.c          |   3 +-\n drivers/phy/st/phy-spear1340-miphy.c          |   3 +-\n drivers/phy/st/phy-stih407-usb.c              |   3 +-\n drivers/phy/st/phy-stm32-combophy.c           |   3 +-\n drivers/phy/st/phy-stm32-usbphyc.c            |   2 +\n drivers/phy/starfive/phy-jh7110-dphy-rx.c     |   3 +-\n drivers/phy/starfive/phy-jh7110-dphy-tx.c     |   3 +-\n drivers/phy/starfive/phy-jh7110-pcie.c        |   3 +-\n drivers/phy/starfive/phy-jh7110-usb.c         |   3 +-\n drivers/phy/sunplus/phy-sunplus-usb2.c        |   3 +-\n drivers/phy/tegra/phy-tegra194-p2u.c          |   3 +-\n drivers/phy/tegra/xusb-tegra124.c             |   2 +-\n drivers/phy/tegra/xusb-tegra186.c             |   2 +-\n drivers/phy/tegra/xusb-tegra210.c             |   2 +-\n drivers/phy/tegra/xusb.c                      |   2 +-\n drivers/phy/ti/phy-am654-serdes.c             |   3 +-\n drivers/phy/ti/phy-da8xx-usb.c                |   3 +-\n drivers/phy/ti/phy-dm816x-usb.c               |   3 +-\n drivers/phy/ti/phy-gmii-sel.c                 |   3 +-\n drivers/phy/ti/phy-omap-usb2.c                |   3 +-\n drivers/phy/ti/phy-ti-pipe3.c                 |   3 +-\n drivers/phy/ti/phy-tusb1210.c                 |   1 +\n drivers/phy/ti/phy-twl4030-usb.c              |   3 +-\n drivers/phy/xilinx/phy-zynqmp.c               |   4 +-\n drivers/pinctrl/tegra/pinctrl-tegra-xusb.c    |   2 +-\n drivers/power/supply/cpcap-charger.c          |   1 +\n drivers/ufs/host/ufs-exynos.c                 |  24 +-\n drivers/ufs/host/ufs-exynos.h                 |   1 +\n drivers/ufs/host/ufs-qcom.c                   |  16 +-\n drivers/ufs/host/ufs-qcom.h                   |   1 +\n drivers/usb/chipidea/ci_hdrc_imx.c            |   1 +\n drivers/usb/core/hcd.c                        |   1 +\n drivers/usb/dwc3/dwc3-generic-plat.c          |   1 +\n drivers/usb/dwc3/gadget.c                     |   1 +\n drivers/usb/gadget/udc/tegra-xudc.c           |  35 +-\n drivers/usb/host/xhci-tegra.c                 |  42 +-\n include/linux/phy/phy-props.h                 |  75 +++\n include/linux/phy/phy-sun4i-usb.h             |   2 +-\n include/linux/phy/phy.h                       | 497 ++++--------------\n include/linux/phy/tegra/xusb.h                |   1 +\n include/linux/phy/ulpi_phy.h                  |   2 +-\n 242 files changed, 1003 insertions(+), 739 deletions(-)\n create mode 100644 drivers/phy/phy-provider.h\n create mode 100644 include/linux/phy/phy-props.h"
}