get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2217255/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2217255,
    "url": "http://patchwork.ozlabs.org/api/patches/2217255/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260327184706.1600329-23-vladimir.oltean@nxp.com/",
    "project": {
        "id": 42,
        "url": "http://patchwork.ozlabs.org/api/projects/42/?format=api",
        "name": "Linux GPIO development",
        "link_name": "linux-gpio",
        "list_id": "linux-gpio.vger.kernel.org",
        "list_email": "linux-gpio@vger.kernel.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260327184706.1600329-23-vladimir.oltean@nxp.com>",
    "list_archive_url": null,
    "date": "2026-03-27T18:47:00",
    "name": "[v6,phy-next,22/28] net: renesas: rswitch: include PHY provider header",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "299945934ca85946fb87e071c026072da9ce585e",
    "submitter": {
        "id": 75582,
        "url": "http://patchwork.ozlabs.org/api/people/75582/?format=api",
        "name": "Vladimir Oltean",
        "email": "vladimir.oltean@nxp.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260327184706.1600329-23-vladimir.oltean@nxp.com/mbox/",
    "series": [
        {
            "id": 497821,
            "url": "http://patchwork.ozlabs.org/api/series/497821/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/list/?series=497821",
            "date": "2026-03-27T18:46:39",
            "name": "Split Generic PHY consumer and provider",
            "version": 6,
            "mbox": "http://patchwork.ozlabs.org/series/497821/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2217255/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2217255/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <linux-gpio+bounces-34317-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-gpio@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=dbdu+dV0;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-gpio+bounces-34317-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=\"dbdu+dV0\"",
            "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.84.49",
            "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 tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::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 4fj964154cz1y1P\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 28 Mar 2026 06:03:40 +1100 (AEDT)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 2D2143133CFD\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 27 Mar 2026 18:56:42 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 63E2241325D;\n\tFri, 27 Mar 2026 18:49:27 +0000 (UTC)",
            "from DB3PR0202CU003.outbound.protection.outlook.com\n (mail-northeuropeazon11010049.outbound.protection.outlook.com [52.101.84.49])\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 6536E3FE653;\n\tFri, 27 Mar 2026 18:49:25 +0000 (UTC)",
            "from DU2PR04MB8584.eurprd04.prod.outlook.com (2603:10a6:10:2db::24)\n by GV1PR04MB9515.eurprd04.prod.outlook.com (2603:10a6:150:24::6) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.20; Fri, 27 Mar\n 2026 18:49:21 +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:49:21 +0000"
        ],
        "ARC-Seal": [
            "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774637367; cv=fail;\n b=uFAtlHY1q5TQjKkm7Y/KHElFwZhIgwc4p3f5dr/7GKpW28rigNnjlr2tjMskgtN2+bLMXDEbZ6m85eqsod2V4DeQwQIEd5J/hbJkaFapcsdVkneCYR99ZkL1wU52jaFx+nJpqXF4P4wpIv53jy8ac97Yr8hRotXYez4gOMS5RZE=",
            "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=HHwP/j04C2csl/xdanySMqD+x6uMOhTMqZXJumu7xi8Z4maMt4jm0silox4QOjWW7+Un8A+jrYGlMY0eYHzP08guIRXCbJM6Pvvl7bYWYnB5p4QbL47/41poZwsj00nIv3V1ZUYQySZIQVhcYN+RDiiuC3LpOiaUnB8IBcQrB7Lp00TZMYGd2frFShXZkd5lH5bWs2v5loY2VFWlf8y5a0dhM58FAW9EbrvrkhuDRGvDpRenTrkTlB6zQ+ixGp1XTw/Vq5Yb50fBakH/DGkHfSOND7EVx+cATxp1x7ISALl5uO9LAz+dZItpOMxwChBtQGU33m8I5YRjtP+80DniBA=="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774637367; c=relaxed/simple;\n\tbh=scRp4s94rZf/U2E3JGXLpk494PeVGaVWMIjoOEBKMcQ=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=IDTBekoFofQmzVkTftyMm33lssKxW+SMlBnFM3KPwgh/ijpIPfcrzbdfzij1RQA+g4SvYJiMXtLzxZO6xyIkcRFEy0FCzEskLW8Vgga8UJ3zBnxl+7hWICiPuCRnLWtgNxtdADEcNT3JLX7lr7ubYkI0soe1z2vzRolSf1W95q4=",
            "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=0wUxyQfIICyHiocl/8Hfk2mOOKh2ERGlTdSua5EuTn4=;\n b=Td1RkI2C1ThyrC4kaBC3r8+uW9HjHKo/ZydCFbIwET4IVlVwSz9qCWnT4egzFIEoJZEI8iVmR05QRLOgFPUa5l7jQeuP1fNcxr01WnWm3tK/KyA/WW+DWP9FfF0c3LknlVIbXb9cnQKvrEq8CzktVmD0h0Qr6u6mEPckdK1vHYMDh3MmumDA16wJjqHJyjqY0FWwdciOlur4VcqsbFjzr6YsLFPandbgvPR94rhjCucs/bgAMcuMA2qCfHufDMgusEyDnIY+euFAWiThtPPqkndNLMD3Xj/pVsFFIAvU0/MbahjOwqD4aR/X5wkZbRQDcRC0iTlLkmgCwomYDow+mg=="
        ],
        "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=dbdu+dV0; arc=fail smtp.client-ip=52.101.84.49",
            "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=0wUxyQfIICyHiocl/8Hfk2mOOKh2ERGlTdSua5EuTn4=;\n b=dbdu+dV0RInLeoV8TGGiZY0yXhp9elX7toB3yMbIxqU9CHOr+4TSZig6iwP2p7pPdknr+5bt5h+KfK6FdSY5rV5NetacUEjzEd2BVdo4mWXd81LgHCjv2mpsZjyeP2XVoeaal4HPTpuhflvZ+9sKTRz+lruBD+W69BAS8xVy+/JzsTfCxeSCZ8Ry0uuqNnypm3B6YrBzNP9xGMgCbIHHrws3rl5I2+/jt2jpI/hDW0CS5mtb5tWqA4oXrn0IJgqfOqMyK0Bph0MwiEub/ZoP2LUoJw6TiVV8t0lrXTfn9HfPTEvEj4Rckz+pt0tMWPlXPmK7JBVnefWKe9lmkHp9Rw==",
        "From": "Vladimir Oltean <vladimir.oltean@nxp.com>",
        "To": "linux-phy@lists.infradead.org",
        "Cc": "Vinod Koul <vkoul@kernel.org>,\n\tNeil Armstrong <neil.armstrong@linaro.org>,\n\tdri-devel@lists.freedesktop.org,\n\tfreedreno@lists.freedesktop.org,\n\tlinux-arm-kernel@lists.infradead.org,\n\tlinux-arm-msm@vger.kernel.org,\n\tlinux-can@vger.kernel.org,\n\tlinux-gpio@vger.kernel.org,\n\tlinux-ide@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tlinux-media@vger.kernel.org,\n\tlinux-pci@vger.kernel.org,\n\tlinux-renesas-soc@vger.kernel.org,\n\tlinux-riscv@lists.infradead.org,\n\tlinux-rockchip@lists.infradead.org,\n\tlinux-samsung-soc@vger.kernel.org,\n\tlinux-scsi@vger.kernel.org,\n\tlinux-sunxi@lists.linux.dev,\n\tlinux-tegra@vger.kernel.org,\n\tlinux-usb@vger.kernel.org,\n\tnetdev@vger.kernel.org,\n\tspacemit@lists.linux.dev,\n\tUNGLinuxDriver@microchip.com,\n\tGeert Uytterhoeven <geert+renesas@glider.be>,\n\tYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,\n\tMichael Dege <michael.dege@renesas.com>,\n\tAndrew Lunn <andrew+netdev@lunn.ch>,\n\t\"David S. Miller\" <davem@davemloft.net>,\n\tEric Dumazet <edumazet@google.com>,\n\tJakub Kicinski <kuba@kernel.org>,\n\tPaolo Abeni <pabeni@redhat.com>,\n\t\"Russell King (Oracle)\" <rmk+kernel@armlinux.org.uk>",
        "Subject": "[PATCH v6 phy-next 22/28] net: renesas: rswitch: include PHY provider\n header",
        "Date": "Fri, 27 Mar 2026 20:47:00 +0200",
        "Message-ID": "<20260327184706.1600329-23-vladimir.oltean@nxp.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20260327184706.1600329-1-vladimir.oltean@nxp.com>",
        "References": "<20260327184706.1600329-1-vladimir.oltean@nxp.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "VI1PR09CA0170.eurprd09.prod.outlook.com\n (2603:10a6:800:120::24) To DU2PR04MB8584.eurprd04.prod.outlook.com\n (2603:10a6:10:2db::24)",
        "Precedence": "bulk",
        "X-Mailing-List": "linux-gpio@vger.kernel.org",
        "List-Id": "<linux-gpio.vger.kernel.org>",
        "List-Subscribe": "<mailto:linux-gpio+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:linux-gpio+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "DU2PR04MB8584:EE_|GV1PR04MB9515:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "57e5ccda-53bb-4731-4e11-08de8c318ed5",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|10070799003|7416014|376014|366016|1800799024|19092799006|56012099003|18002099003|22082099003;",
        "X-Microsoft-Antispam-Message-Info": "\n\te7Ty6hMrlEQ+COimMeGataPNybFbtpq9ERfoJLJyAh5iFov4SjxAK5WU13ujGZJILgozVxHhAVu2iJ3EC0msHOpQbl44quaabjwWa6k/W9XkKo3ik5GNCYXzuBbN99Nrur5r9x/lQmf7INpM0wg/CCsibSIjdlcB6zsNpLczoX0X2kj+LqVyvOrO6X3iGfAavR5S0eoQ2Sd9OzdnNqkFVuFFdFXIxajbQW2HTx19nK1k4Tmed4TBSVqTe/w2IGojKro0CGzWXNrP8cbgtEfeI+PbuNkdJFaSdMbBxooec1s7ABHaciUFtki8kz7DKbi5a8pohRjRO2bCo4fh9nTf7bSrx+se+7N4LWu0DwNkKJj2djVAv+y6yT6XhnOeNVfFiAkt5c5H7qV/APLWoFKwbfwLWvMkI+oeFcYqYpHA7MFKJUkk0TuO4w71c4ifo7cmWY7sNac6WWv+r6dfI2IZr0WUw134P4kwxt5hufvXjVwqBxio6VOmr3+EEVvIKwM/B42k+KeIPNPQ/8n4ixByDpu3kTWPbBLm+tlk6+epecFPzIEXY7NNqR4S8TRz2Rx9IcmZEpw8feK+J1VDKHzRHqCmd6tvPjghKidpuiCq+JzsrMHGn+6B9MyisheD03+f/7irLPeAJq7G3mt5Xkks1g4JKSrTiR94fZn0yObfWFNU/2jHP3YYLgDR6hMdQJcCdqEhaMSm5rzwNPGzQdtcw6vZVWSt5V9UC+pRfksGOViurg4nK50sdGSqgluljgFh",
        "X-Forefront-Antispam-Report": "\n\tCIP: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)(10070799003)(7416014)(376014)(366016)(1800799024)(19092799006)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "2",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n /bgWTs7VczB5MVhbTyChPoQjwRniVUwUsfp6zWXnp8aLgpSFGuyjqvfUsb2FNswHdls7bsmn56LeMedpkjol45Wv82o9z56vxQzMpWUEmDPgaUDJvLbA7Eh4jEo6tMGG3Kya25YLMxLWWOBGhPG5b2UWaht5ZQ9Na6Lxiif0IKsdpOKYtLoKq3NrLf9tSACl0rZO3ih4vUJRMB+kDgTS83NPhGnOu4SYsE8OMrRvKdHGiRje7yutF9YxZQq+R8/yY1SkGJ/t4bVTcAbVesEHeSbg200Rgjbml5g7A00smETRH9wdfbschpPi+axL/zqj+isp/u+DHQ0tlwp/UkAApt47bYGt+C5s00bqTc4/L2L95EQtbuOeR8iVECI3Wh9SUD45jVQzMl8ZgClzq8GfO2A7/ekMmMson14ZBoqeMSSd9P7Uospe1T9oHQVN0IXJvI2sPO/FrZ4Oe81zoDIGOm0iusQ0dWnDvpQS6RWaDpTWgxJR0Mvgq/eK9EFR3xvq2amfIYTDanMbI1oerYsQ+mC97x6mXItdlrnB2s/uHJCQw2yQPC5dwruUJnYvJ4oyUuOlIflIBdsztFVwEMlw7kWFEveBYQaw838Cc52qHdbrNu0EPwjhDDDDIy9kzfUvf+6LoV8a7jBzQkGioZ12s/Xg3HswfspLULrNiGetuMjCgCHnLaJgrprhZpbixe1Y++N9fHwk79YCizrQmrOfmIe94dq7L1RCMfLKsmHXrKVfpvWIYF/3rNmgg3wcec5nIVVWBc5Ser9MSfVTnZc6cOE5HQzbxJG5sekH51+kGGq+n3L99OTv2Y1kuH9mcCsjQrxk7XZKs06qP6wh3rB7DFFPkJIB0QwIKk5XxvR3IJlqMZZszHKd7lRiWP1TN8Oa7splkKh13MNYNu/XRbzreFzEeh/C2lLfzfm/nwJwMo5OS/wQ8sKqWZv9C+NeeYa1/snLmRpVCJHLncpE6kcV8vcXlxAYJz8sFOOnoVxzTDad2OzTK+IjDCjwn3K5JFMMkspaSRHN7q38fHIQP/RvtF6RkQFy3hL82nzUsYaZXula1zhNP03RslflYMrI7EOulV94euBblOPmsVHVcGt4RepA3EM7wPQoYHsCw7jCqD8y6NGoQm4EWKGhdHIAG1hms2hd1WswrzNC0LWtRs15oBFBtCDk0drZPZbbcUJ6ZVJ/RllCSa4mECVrY8Z01w8FDkjt4o2FTUUpKhsGUVSxd1bOM6URzq+oOzWezkehGtINqD+VyIWnhimF4NbvYRY5KbOxA/8ladtZDb/GNGU6+mPy1hhCk8HdgT8zsBZHpgAELKNVEPQCMqlGvIHDyyX4bvElSXBNo2NWsbJGhVEKdkdy1BiaNTH+Z95C8lomqqKZiajkFsy6p3XKQMjaYsZC4rFZOjJ69WIJ6dHPafW6tPI8vas3RKHkAbcrzOpxzX7RVTLNZDKXrSxy9pmwZr+LdxrkdOG2DEfzE0xIVF1r3U61ckRV8tDiaGaJvv8xIBMM+DLnjO+NrNBKj8qyzUuixLfYIG0hYfyWiisKechYCkFrEnAntzhWv63kYA+63fcLM55e+MATZrGSXfA5Y6JDrmFn2YVrxeDI7GkoWiNOp9R+7l+GYRFRElOiwECM+i+chZuAzo1NPCEldt/HNZ0ilZlEc5YMujX/hRPI5DAnsu9YljUE3eWCXCXzt4MxYIyTKWV3HKJUO+rEFoZb6ZbdXa0ZCcei/nlsYvUGb/Dap59la4U8JRH/x3ktiS5z0tlLN/QXwSCSzn9nOJTPmotW9Zzn+tTI",
        "X-MS-Exchange-AntiSpam-MessageData-1": "OxI+/GSjxdcUfunfnQVBR4eDpHclazs9OEA=",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 57e5ccda-53bb-4731-4e11-08de8c318ed5",
        "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:49:21.1822\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 VIRfQvVY93umJZ4sO9AYmZaDwQH15hE6LT33lMYE5JD5rUYkTuyL6ESF3Cs2FzPcH2Lod0TWWuoDf4dVjk1Y0A==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "GV1PR04MB9515"
    },
    "content": "As a PHY consumer driver, the Renesas rswitch dereferences internal\nfields of struct phy, something which shouldn't be done, as that is\ngoing to be made an opaque pointer.\n\nIt is quite clearly visible that the driver is tightly coupled with the\ndrivers/phy/renesas/r8a779f0-ether-serdes.c, which puts heavy pressure\non the Generic PHY subsystem.\n\nThis was discussed before here:\nhttps://lore.kernel.org/linux-phy/20260211194541.cdmibrpfn6ej6e74@skbuf/\n\nbut to summarize, it is generally expected that when a Generic PHY\nfunction is called, it takes effect immediately. When this doesn't\nhappen, the PHY provider driver must change its implementation rather\nthan the consumer be made to work around it. PHY providers which rely on\na hardcoded call sequence in the consumer are just lazy and wrong.\n\nThe most obvious example is commit 5cb630925b49 (\"net: renesas: rswitch:\nAdd phy_power_{on,off}() calling\"). Problem description:\n- Ethernet PHYs may change phydev->interface. When this happens, the\n  SerDes must learn of the new phydev->interface using phy_set_mode_ext().\n- drivers/phy/renesas/r8a779f0-ether-serdes.c implements phy_set_mode_ext(),\n  but this only caches the mode and submode into channel->phy_interface\n  and applies this to hardware during phy_power_on().\n\nThe commit author decided to work around this at the consumer site, by\npower cycling the PHY for the configuration to take effect.\n\nThis had a worse implication from an API perspective in subsequent\ncommit 053f13f67be6 (\"rswitch: Fix imbalance phy_power_off() calling\").\nIt was observed that phy_power_on() and phy_power_off() calls need to be\nbalanced, and so, the consumer decided to start looking at the struct\nphy :: power_count (the technical reason why I'm making this change).\n\nThis is also wrong from an API perspective because\n- a consumer should only care about its own vote on the PHY power state.\n  If this is a multi-port submode like QSGMII, a single phy_power_off()\n  call will not actually turn the PHY off (nor should it).\n- the power_count is written under the &phy->mutex, but read unlocked\n  here.\n\nThe rswitch and r8a779f0-ether-serdes drivers both need to be completely\nrethought in terms of Generic PHY API call sequence. There is no quick\nfix to apply. Just include the PHY provider API along with the consumer\none, to keep working as before when struct phy will be made an opaque\npointer to normal PHY consumers. But this is a bad offender (and it's\nnot even a provider) so add a FIXME.\n\nSigned-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>\nReviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>\n---\nCc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>\nCc: Michael Dege <michael.dege@renesas.com>\nCc: Andrew Lunn <andrew+netdev@lunn.ch>\nCc: \"David S. Miller\" <davem@davemloft.net>\nCc: Eric Dumazet <edumazet@google.com>\nCc: Jakub Kicinski <kuba@kernel.org>\nCc: Paolo Abeni <pabeni@redhat.com>\nCc: Geert Uytterhoeven <geert+renesas@glider.be>\nCc: \"Russell King (Oracle)\" <rmk+kernel@armlinux.org.uk>\n\nv2->v6: none\nv1->v2: collect tag\n---\n drivers/net/ethernet/renesas/rswitch_main.c | 1 +\n 1 file changed, 1 insertion(+)",
    "diff": "diff --git a/drivers/net/ethernet/renesas/rswitch_main.c b/drivers/net/ethernet/renesas/rswitch_main.c\nindex 6fe964816322..132be5f15073 100644\n--- a/drivers/net/ethernet/renesas/rswitch_main.c\n+++ b/drivers/net/ethernet/renesas/rswitch_main.c\n@@ -27,6 +27,7 @@\n #include <linux/spinlock.h>\n #include <linux/sys_soc.h>\n \n+#include \"../../../phy/phy-provider.h\" /* FIXME */\n #include \"rswitch.h\"\n #include \"rswitch_l2.h\"\n \n",
    "prefixes": [
        "v6",
        "phy-next",
        "22/28"
    ]
}