Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2231155/?format=api
{ "id": 2231155, "url": "http://patchwork.ozlabs.org/api/patches/2231155/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260430110652.558622-9-vladimir.oltean@nxp.com/", "project": { "id": 28, "url": "http://patchwork.ozlabs.org/api/projects/28/?format=api", "name": "Linux PCI development", "link_name": "linux-pci", "list_id": "linux-pci.vger.kernel.org", "list_email": "linux-pci@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260430110652.558622-9-vladimir.oltean@nxp.com>", "list_archive_url": null, "date": "2026-04-30T11:06:33", "name": "[v7,phy-next,08/27] PCI: Remove device links to PHY", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "40518ee2f5409b9f292fd52b736629c3ea1dee2a", "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-pci/patch/20260430110652.558622-9-vladimir.oltean@nxp.com/mbox/", "series": [ { "id": 502278, "url": "http://patchwork.ozlabs.org/api/series/502278/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=502278", "date": "2026-04-30T11:06:26", "name": "Split Generic PHY consumer and provider", "version": 7, "mbox": "http://patchwork.ozlabs.org/series/502278/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2231155/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2231155/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-pci+bounces-53468-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-pci@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=jjiV9HTC;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=linux-pci+bounces-53468-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=\"jjiV9HTC\"", "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.65.37", "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 [172.105.105.114])\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 4g5s4h1N7Rz1xqf\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 21:14:12 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id BD3EC304B36D\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 11:08:54 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 992D4410D07;\n\tThu, 30 Apr 2026 11:07:19 +0000 (UTC)", "from DU2PR03CU002.outbound.protection.outlook.com\n (mail-northeuropeazon11011037.outbound.protection.outlook.com [52.101.65.37])\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 1A5D13D7D96;\n\tThu, 30 Apr 2026 11:07:17 +0000 (UTC)", "from AM9PR04MB8585.eurprd04.prod.outlook.com (2603:10a6:20b:438::13)\n by VI1PR04MB7182.eurprd04.prod.outlook.com (2603:10a6:800:121::7) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr\n 2026 11:07:10 +0000", "from AM9PR04MB8585.eurprd04.prod.outlook.com\n ([fe80::f010:fca8:7ef:62f4]) by AM9PR04MB8585.eurprd04.prod.outlook.com\n ([fe80::f010:fca8:7ef:62f4%4]) with mapi id 15.20.9846.025; Thu, 30 Apr 2026\n 11:07:10 +0000" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777547239; cv=fail;\n b=A43OgDdDteDLG7F6B+x8vk5VAJ1e0sEbO9x6FTsE3g8Zj1jk2NhJlNSowheozIWdtBdLiWrWmELtqRyWx5IeSG0il+aD9H2j3cSSs+CMroHnnswPBd7LwOfdUQJ5H3FI2V3fip/n1XZI4n0AY/cge7kuoLMI5PLF1d2pq5hDFlo=", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=Qy0Usp19MqbkkOvof7JpN7G+e0GXks2cjwDT4egj1ShbtdxbImW8UuSs3aSyehd9SIwQhdhAUWcLQAtIgCJeMo3eeJmrFTsB/TCQEa+X6+3naBk04IJIqNm5OYfBR0GTjLhn01TngY/Hqjg0xncFBptUhLlpQ22n11+itvKWI3LkVlGIuTQuDx5Wb8NHXz90alUSGph+k2F7ue0jcUZez8iZM1DFex008mXKeNWBkOKla3OfcOnPegEyUzlIGYsYwoQynizpVswlF0JLWtu2lxBFx4SvutyAmAgoniKI3YCu3wsW93zWozX/Chmff3B2NLaaICbLVCy6pf0Cr8//+A==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777547239; c=relaxed/simple;\n\tbh=dvBRrATornj2eiugNNNEUIP60jaQm70LKt/SjhxHvOg=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=WbRIu2ied5Rttqj+2kGY2ZYHaB2fSC52hQucpGiqZLYL1MLfyuhg1P1lEZvGKM0bGi8LEEFDy2X4bhSPrV2EGP2IhfeQ+kcFD758hlOmlb1DnSnZGMugP1wpbw0KrhJXW0KZ+TplksePUTxXyg0LHD+xXIUeLVPNApipNqD/h9s=", "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=9C5GLzETIdB31+F9qDSSi0MI9ZUshW5sERTXokTyvE0=;\n b=MT4XEbzS3WY8YyNT7Artp9fHZJmIovwK31NM1rxwsV5Mb2YfOvLBxJFS1jWyfywbadEUYWX/ry9ahe3vgEd1ey5TsTFXyxxwWZe+A5Ldl/yzfIh+o//3RoYJaar+GxWdf4yw5Y4wy7xBcmg/4HUE8/A3DoRsOMT+t4FIzkOfE3JHIHSlIdWGsWdIUaMZifqM5zUQCoZjn1zUyloltoGYaX1eiYtDcdh7NZJdGPCAGuKuZgwClwfhmk00CXM57Y2rv8AYm61KymokVEpYADzUfZc5I2u6uJu1loOYoirp2rAkzZWx27Y1wTtvONvGXmVXfl55AXVE//vR0efoir/XBw==" ], "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=jjiV9HTC; arc=fail smtp.client-ip=52.101.65.37", "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=9C5GLzETIdB31+F9qDSSi0MI9ZUshW5sERTXokTyvE0=;\n b=jjiV9HTCxNrnIQ3hOOQind5olgyCU0yoZtuUYOxeunuOSmRj5DIB+4ceYg7ch7CQasqvyBhR77oUqmfKuDw9pIJnSxz0M+OFdS6w26xxF6mbMlMpRiNNKpUBpvciOp2rwEuxKLlJpcBwDQhFm1RBqaOldwMtP2mk9DxaZ0vK31Z0CXiDuViUCSy3HSRrVW8TxkBSviC8Ii8hCfQy/STkWzztzxX3I2ValcrDZmBla2I8vYMAaGgQPtRLQAPcsCkhup3nvjT7oMG2/zzifufeiElt6hf9DDuJKYnNlwnyLIJNg38bmjnUlhMXhtm+9+VBP1HQgpGhXEG/Q3yk5utFag==", "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, Bjorn Helgaas <bhelgaas@google.com>,\n Manivannan Sadhasivam <mani@kernel.org>,\n Lorenzo Pieralisi <lpieralisi@kernel.org>, =?utf-8?q?Krzysztof_Wilczy=C5=84?=\n\t=?utf-8?q?ski?= <kwilczynski@kernel.org>, Rob Herring <robh@kernel.org>,\n Vignesh Raghavendra <vigneshr@ti.com>,\n Siddharth Vadapalli <s-vadapalli@ti.com>", "Subject": "[PATCH v7 phy-next 08/27] PCI: Remove device links to PHY", "Date": "Thu, 30 Apr 2026 14:06:33 +0300", "Message-Id": "<20260430110652.558622-9-vladimir.oltean@nxp.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20260430110652.558622-1-vladimir.oltean@nxp.com>", "References": "<20260430110652.558622-1-vladimir.oltean@nxp.com>", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "X-ClientProxiedBy": "AS4P192CA0009.EURP192.PROD.OUTLOOK.COM\n (2603:10a6:20b:5da::16) To AM9PR04MB8585.eurprd04.prod.outlook.com\n (2603:10a6:20b:438::13)", "Precedence": "bulk", "X-Mailing-List": "linux-pci@vger.kernel.org", "List-Id": "<linux-pci.vger.kernel.org>", "List-Subscribe": "<mailto:linux-pci+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-pci+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "AM9PR04MB8585:EE_|VI1PR04MB7182:EE_", "X-MS-Office365-Filtering-Correlation-Id": "7bc2859a-ef22-4de6-9971-08dea6a8a00b", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|10070799003|7416014|376014|366016|19092799006|1800799024|18002099003|56012099003|22082099003;", "X-Microsoft-Antispam-Message-Info": "\n\tnQm0TSrfsFOOo/9BxzXDi8RTUGbm1m8nmQSeu2+9hWJGvM8LZT18P2ZkGDXo23o+2rwaFKI+9IEourCvHQfiUL9F6nzQY6oEwK52FBm24xu1ajgpU1ITgDGuU6pCje8PI/0KzsvSKA6UJQ3e9hvE3ErLdMS2rfsXvkr/amRbbXIzw+toBoYP1OikkjA54grcimu5gy/UC9R7ZsTkCBj2ynrl/g96hm+p0U+YUHnokglyqSUB8C0Y/s86js2r6YfPS+zPj9vaac49/0ZqcrcOGXidbmf0rZlR5pc5GNSgyQGsrGirGC/73S1NEOwU8gYaggbuAoT3WXQElPg8RQOwunnclDPMQNtZ+1DXlSLdl9KWjkK478uee4aT8PrC9FjCoRoosTqJz4aQkGoE8ZKij9btJz0M5QvNb0OwOurVWQXBgD89EIU2bx9bpbDnD/LS08/RXc4Mgxzqf5NzYp44lFBpXIW4Nk+KR+vWECnykshGgFygSXYZy7bsme27GNgamausY0NMlDAo8XnlEuWeiG0Bp/mouDjJFtTLSZIDxrzLaI3vpxmcVblIt5DlAQbmEOJX7+mV/sBnsk0OdDxglsDv4VuVo+GUnHbVw/ofqIhZDKaWA/Y0CNabzJ46yoXwSIj6hlgWes98Pj6GzuOsxuNamJeQKLo1bwwvsm6Iu7YeweNMJkXXK/xzxgSkEEg57XW8EMmrv6RKkaZ1GQ3IcPLs2VQHmpjvPud3OnlWZ9A=", "X-Forefront-Antispam-Report": "\n\tCIP: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)(10070799003)(7416014)(376014)(366016)(19092799006)(1800799024)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "=?utf-8?q?il7cVH/tQtPMFEpw875bVfSly6y5?=\n\t=?utf-8?q?bdbeSf3eOzOFoQ9sA9t3C3KUBgl6mizsG819m4wXeplSmwMvKq+8Dg6BqSlYPeytS?=\n\t=?utf-8?q?9L+x13pc28V4LwjK4nYQjOvSz8ljbReo7tgw8ivWejJTXK2d5y5teodSwHB1rLNKm?=\n\t=?utf-8?q?aePcjOoM8Mor2Rz7RhmoUyJQBsLfqOZ3e/n+qQxl6uSat2MLm0Oso+Zr2vFw/EBt2?=\n\t=?utf-8?q?ASJs7fh00qBCHZGxocoYVQFmZrq9upTjSYBx2sEAFojS1RFRyzFctBKQfSvbozwzh?=\n\t=?utf-8?q?69XmADGPOSoL1u+CBJT3wv0YhTXF3bmvH1EMdpm16V1DhkltjwSEQu8vNwEhzYeHr?=\n\t=?utf-8?q?U4iOQTQstCCZeJT1by/FFVM/LgLzLZWqZIlK+b6Y0kNhiBbXmvFXAUkMtuF59EgI1?=\n\t=?utf-8?q?AdqGNFCUi28tyigbskgP/+s0sfUqE7+gPUVEw50yHEXxruwdARmVIhl1Hc6YgjhIC?=\n\t=?utf-8?q?KnR2THulTOjUCauklciorn2YyyQDTRUTz9Mkv9OXU/DaPuTupBk98SMSzRT5mTgtN?=\n\t=?utf-8?q?2C5DqmYiGzViPjgnGhqewfEdcJ6z2nj0Pdsf3vzWxba5JNKzlRQGSVmCWKb+QHRDM?=\n\t=?utf-8?q?8m9k1YB+V6ic+emQPz2zSqyQRd0PwEUC7vX4EjnqWAbQy8IVg9dZcJjX3FCxkuYpI?=\n\t=?utf-8?q?58nohw7HBM5SaMML2C54gLNhYVaX2/24vzClKIsSVzJV7xjWAuqakt/GWKNDROoRz?=\n\t=?utf-8?q?zdFyA598V9OfkhTJCyTAKD0dEPE9JoaXF5zOpISEmPHZTFTNP7MINsPwPuPx03qYf?=\n\t=?utf-8?q?gFyGK9gOf4/IYwH1QWYT2Ki4YHFNy+OIfOV+ojo2DhttjS7BVxci9vVt+NPx0ew8P?=\n\t=?utf-8?q?xrYojVTLIT2z20drv9KiEeDfzF75QiVFRKcBnkE306+VH35D18HoIYuS+kyCXRxHO?=\n\t=?utf-8?q?vdsyk+2sKv6kdimmxpoQaYHtkJJ4uq5HdgTifrAVMtwgZBL+6+Lb0+X6A4ayUrGWu?=\n\t=?utf-8?q?mfr0TebKbFzk9JQGdyv4GW+S0lO+tFxXAqFaENnIBlfKWU2HDqmxkJK+W+OVZwO3h?=\n\t=?utf-8?q?HrfcB/qrfjU2/bMQpul5Vwjt1DsGsDSVfADCam74JTXaAn6Iypar3Bhi3JZseTit4?=\n\t=?utf-8?q?EMuQlnHIUzR3fFYDxSsknMgL7oaBMtki5cef7xkcJCPOqirCo0z8RP2wp4c5jB1xL?=\n\t=?utf-8?q?op0IIepXgOvhBRAxzxu4Dp0I53MSxKpG7jSXoxly/YpNZBSyS/r8xW2jyaLQZ4OSY?=\n\t=?utf-8?q?23YRfj8B+K5IoDrk/TSbY5eaK0xQjSgp2FX1dOXnbcPWMgal4MJl/QduBDGUSQCTg?=\n\t=?utf-8?q?CN79qxm/RhL6mSa23O4s+tNqaEWblRJu2vJsdGAhHhRWJs9fYM8ePCBh3tLoN0W9v?=\n\t=?utf-8?q?c1Mcv62JvoS0TYf3yyT1SikxU9qIBp+9RQeEVNOgrULrtbScF1a95OKpr/iuXFIGz?=\n\t=?utf-8?q?1NJ5NeWhxsQCPpEl+orLWW6xw//eqqA0akgb41HAAZ2bvIxc0FJSWjHL5Fby7QAPJ?=\n\t=?utf-8?q?uxXH7v9F2heHVUDr0DFePvEst9l4RMYn4alJrEct2ZkijVFQOhd5cchKR6TBaJ/70?=\n\t=?utf-8?q?bEq+j2nmmu22EHs3gvJZS2uhBMJCoDCo8FYvfZGiIq2WRFQadox8usBJqX193AjUz?=\n\t=?utf-8?q?X5KSaXDIoVpR8x9+RkdFBkwOGijYR/XLVzo1DAtpcFJcv5aobU/g0m9QiT6rmRY2j?=\n\t=?utf-8?q?I843SAeCKTa+yGxnou/gxrlUigG4/SYJIHbWmJoiu65nhO+rzY5szuoY/382gYS/A?=\n\t=?utf-8?q?UTRE8X3Ha?=", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 7bc2859a-ef22-4de6-9971-08dea6a8a00b", "X-MS-Exchange-CrossTenant-AuthSource": "AM9PR04MB8585.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "30 Apr 2026 11:07:10.4187\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 a44KpPttrr2qCZks8361sxkrrolPR2VFeCnJ+I/nmNQXuxwYGrXjO1nZOF76LEHTjSON3rgHm9igoJQNiYPKqw==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI1PR04MB7182" }, "content": "This is practically a full revert of commit\n7a4db656a635 (\"PCI: dra7xx: Create functional dependency between PCIe and PHY\")\nand a partial revert of the device link pieces from commits\ndfb80534692d (\"PCI: cadence: Add generic PHY support to host and EP drivers\")\n49229238ab47 (\"PCI: keystone: Cleanup PHY handling\")\n\nThe trouble with these commits is that they dereference fields inside\nstruct phy from a consumer driver, which will become no longer possible.\n\nSince commit 987351e1ea77 (\"phy: core: Add consumer device link\nsupport\") from 2019, the PHY core also adds a device link to order PHY\nprovider and consumer suspend/resume operations. All reverted commits\nare from 2017-2018, and what they do should actually be redundant now.\n\nSigned-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>\nAcked-by: Bjorn Helgaas <bhelgaas@google.com>\nReviewed-by: Manivannan Sadhasivam <mani@kernel.org>\n---\nCc: Lorenzo Pieralisi <lpieralisi@kernel.org>\nCc: \"Krzysztof Wilczyński\" <kwilczynski@kernel.org>\nCc: Manivannan Sadhasivam <mani@kernel.org>\nCc: Rob Herring <robh@kernel.org>\nCc: Bjorn Helgaas <bhelgaas@google.com>\nCc: Vignesh Raghavendra <vigneshr@ti.com>\nCc: Siddharth Vadapalli <s-vadapalli@ti.com>\n\nv6->v7: none\nv5->v6: collect tag from Manivannan Sadhasivam\nv3->v5: none\nv2->v3:\n- remove dangling set but unused phy_count local variable in\n cdns_plat_pcie_probe()\nv1->v2:\n- fully remove struct device link **link from struct cdns_pcie and from\n cdns_plat_pcie_probe() error path\n- collect tag from Bjorn Helgaas\n- adjust commit title\n---\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 | 31 +++----------------\n 5 files changed, 5 insertions(+), 64 deletions(-)", "diff": "diff --git a/drivers/pci/controller/cadence/pcie-cadence-plat.c b/drivers/pci/controller/cadence/pcie-cadence-plat.c\nindex b067a3296dd3..fc39c01b7964 100644\n--- a/drivers/pci/controller/cadence/pcie-cadence-plat.c\n+++ b/drivers/pci/controller/cadence/pcie-cadence-plat.c\n@@ -41,7 +41,6 @@ static int cdns_plat_pcie_probe(struct platform_device *pdev)\n \tstruct pci_host_bridge *bridge;\n \tstruct cdns_pcie_ep *ep;\n \tstruct cdns_pcie_rc *rc;\n-\tint phy_count;\n \tbool is_rc;\n \tint ret;\n \n@@ -122,9 +121,6 @@ static int cdns_plat_pcie_probe(struct platform_device *pdev)\n \tpm_runtime_put_sync(dev);\n \tpm_runtime_disable(dev);\n \tcdns_pcie_disable_phy(cdns_plat_pcie->pcie);\n-\tphy_count = cdns_plat_pcie->pcie->phy_count;\n-\twhile (phy_count--)\n-\t\tdevice_link_del(cdns_plat_pcie->pcie->link[phy_count]);\n \n \treturn 0;\n }\ndiff --git a/drivers/pci/controller/cadence/pcie-cadence.c b/drivers/pci/controller/cadence/pcie-cadence.c\nindex a1eada56edba..0ac980249941 100644\n--- a/drivers/pci/controller/cadence/pcie-cadence.c\n+++ b/drivers/pci/controller/cadence/pcie-cadence.c\n@@ -222,7 +222,6 @@ int cdns_pcie_init_phy(struct device *dev, struct cdns_pcie *pcie)\n \tstruct device_node *np = dev->of_node;\n \tint phy_count;\n \tstruct phy **phy;\n-\tstruct device_link **link;\n \tint i;\n \tint ret;\n \tconst char *name;\n@@ -238,10 +237,6 @@ int cdns_pcie_init_phy(struct device *dev, struct cdns_pcie *pcie)\n \tif (!phy)\n \t\treturn -ENOMEM;\n \n-\tlink = devm_kcalloc(dev, phy_count, sizeof(*link), GFP_KERNEL);\n-\tif (!link)\n-\t\treturn -ENOMEM;\n-\n \tfor (i = 0; i < phy_count; i++) {\n \t\tof_property_read_string_index(np, \"phy-names\", i, &name);\n \t\tphy[i] = devm_phy_get(dev, name);\n@@ -249,17 +244,10 @@ int cdns_pcie_init_phy(struct device *dev, struct cdns_pcie *pcie)\n \t\t\tret = PTR_ERR(phy[i]);\n \t\t\tgoto err_phy;\n \t\t}\n-\t\tlink[i] = device_link_add(dev, &phy[i]->dev, DL_FLAG_STATELESS);\n-\t\tif (!link[i]) {\n-\t\t\tdevm_phy_put(dev, phy[i]);\n-\t\t\tret = -EINVAL;\n-\t\t\tgoto err_phy;\n-\t\t}\n \t}\n \n \tpcie->phy_count = phy_count;\n \tpcie->phy = phy;\n-\tpcie->link = link;\n \n \tret = cdns_pcie_enable_phy(pcie);\n \tif (ret)\n@@ -268,10 +256,8 @@ int cdns_pcie_init_phy(struct device *dev, struct cdns_pcie *pcie)\n \treturn 0;\n \n err_phy:\n-\twhile (--i >= 0) {\n-\t\tdevice_link_del(link[i]);\n+\twhile (--i >= 0)\n \t\tdevm_phy_put(dev, phy[i]);\n-\t}\n \n \treturn ret;\n }\ndiff --git a/drivers/pci/controller/cadence/pcie-cadence.h b/drivers/pci/controller/cadence/pcie-cadence.h\nindex 574e9cf4d003..232b504b5cf9 100644\n--- a/drivers/pci/controller/cadence/pcie-cadence.h\n+++ b/drivers/pci/controller/cadence/pcie-cadence.h\n@@ -82,7 +82,6 @@ struct cdns_plat_pcie_of_data {\n * @is_rc: tell whether the PCIe controller mode is Root Complex or Endpoint.\n * @phy_count: number of supported PHY devices\n * @phy: list of pointers to specific PHY control blocks\n- * @link: list of pointers to corresponding device link representations\n * @ops: Platform-specific ops to control various inputs from Cadence PCIe\n * wrapper\n * @cdns_pcie_reg_offsets: Register bank offsets for different SoC\n@@ -95,7 +94,6 @@ struct cdns_pcie {\n \tbool\t\t\t is_rc;\n \tint\t\t\t phy_count;\n \tstruct phy\t\t **phy;\n-\tstruct device_link\t **link;\n \tconst struct cdns_pcie_ops *ops;\n \tconst struct cdns_plat_pcie_of_data *cdns_pcie_reg_offsets;\n };\ndiff --git a/drivers/pci/controller/dwc/pci-dra7xx.c b/drivers/pci/controller/dwc/pci-dra7xx.c\nindex cd904659c321..9c1aef4d0bd1 100644\n--- a/drivers/pci/controller/dwc/pci-dra7xx.c\n+++ b/drivers/pci/controller/dwc/pci-dra7xx.c\n@@ -9,7 +9,6 @@\n \n #include <linux/clk.h>\n #include <linux/delay.h>\n-#include <linux/device.h>\n #include <linux/err.h>\n #include <linux/interrupt.h>\n #include <linux/irq.h>\n@@ -679,7 +678,6 @@ static int dra7xx_pcie_probe(struct platform_device *pdev)\n \tint i;\n \tint phy_count;\n \tstruct phy **phy;\n-\tstruct device_link **link;\n \tvoid __iomem *base;\n \tstruct dw_pcie *pci;\n \tstruct dra7xx_pcie *dra7xx;\n@@ -727,10 +725,6 @@ static int dra7xx_pcie_probe(struct platform_device *pdev)\n \tif (!phy)\n \t\treturn -ENOMEM;\n \n-\tlink = devm_kcalloc(dev, phy_count, sizeof(*link), GFP_KERNEL);\n-\tif (!link)\n-\t\treturn -ENOMEM;\n-\n \tdra7xx->clk = devm_clk_get_optional(dev, NULL);\n \tif (IS_ERR(dra7xx->clk))\n \t\treturn dev_err_probe(dev, PTR_ERR(dra7xx->clk),\n@@ -745,12 +739,6 @@ static int dra7xx_pcie_probe(struct platform_device *pdev)\n \t\tphy[i] = devm_phy_get(dev, name);\n \t\tif (IS_ERR(phy[i]))\n \t\t\treturn PTR_ERR(phy[i]);\n-\n-\t\tlink[i] = device_link_add(dev, &phy[i]->dev, DL_FLAG_STATELESS);\n-\t\tif (!link[i]) {\n-\t\t\tret = -EINVAL;\n-\t\t\tgoto err_link;\n-\t\t}\n \t}\n \n \tdra7xx->base = base;\n@@ -852,10 +840,6 @@ static int dra7xx_pcie_probe(struct platform_device *pdev)\n \tpm_runtime_disable(dev);\n \tdra7xx_pcie_disable_phy(dra7xx);\n \n-err_link:\n-\twhile (--i >= 0)\n-\t\tdevice_link_del(link[i]);\n-\n \treturn ret;\n }\n \ndiff --git a/drivers/pci/controller/dwc/pci-keystone.c b/drivers/pci/controller/dwc/pci-keystone.c\nindex fe4836925c4e..cab9fad212ad 100644\n--- a/drivers/pci/controller/dwc/pci-keystone.c\n+++ b/drivers/pci/controller/dwc/pci-keystone.c\n@@ -130,7 +130,6 @@ struct keystone_pcie {\n \tint\t\t\tnum_lanes;\n \tu32\t\t\tnum_viewport;\n \tstruct phy\t\t**phy;\n-\tstruct device_link\t**link;\n \tstruct\t\t\tdevice_node *msi_intc_np;\n \tstruct irq_domain\t*intx_irq_domain;\n \tstruct device_node\t*np;\n@@ -1130,7 +1129,6 @@ static int ks_pcie_probe(struct platform_device *pdev)\n \tenum dw_pcie_device_mode mode;\n \tstruct dw_pcie *pci;\n \tstruct keystone_pcie *ks_pcie;\n-\tstruct device_link **link;\n \tstruct gpio_desc *gpiod;\n \tstruct resource *res;\n \tvoid __iomem *base;\n@@ -1201,31 +1199,17 @@ static int ks_pcie_probe(struct platform_device *pdev)\n \tif (!phy)\n \t\treturn -ENOMEM;\n \n-\tlink = devm_kcalloc(dev, num_lanes, sizeof(*link), GFP_KERNEL);\n-\tif (!link)\n-\t\treturn -ENOMEM;\n-\n \tfor (i = 0; i < num_lanes; i++) {\n \t\tsnprintf(name, sizeof(name), \"pcie-phy%d\", i);\n \t\tphy[i] = devm_phy_optional_get(dev, name);\n \t\tif (IS_ERR(phy[i])) {\n \t\t\tret = PTR_ERR(phy[i]);\n-\t\t\tgoto err_link;\n-\t\t}\n-\n-\t\tif (!phy[i])\n-\t\t\tcontinue;\n-\n-\t\tlink[i] = device_link_add(dev, &phy[i]->dev, DL_FLAG_STATELESS);\n-\t\tif (!link[i]) {\n-\t\t\tret = -EINVAL;\n-\t\t\tgoto err_link;\n+\t\t\tgoto err;\n \t\t}\n \t}\n \n \tks_pcie->np = np;\n \tks_pcie->pci = pci;\n-\tks_pcie->link = link;\n \tks_pcie->num_lanes = num_lanes;\n \tks_pcie->phy = phy;\n \n@@ -1235,7 +1219,7 @@ static int ks_pcie_probe(struct platform_device *pdev)\n \t\tret = PTR_ERR(gpiod);\n \t\tif (ret != -EPROBE_DEFER)\n \t\t\tdev_err(dev, \"Failed to get reset GPIO\\n\");\n-\t\tgoto err_link;\n+\t\tgoto err;\n \t}\n \n \t/* Obtain references to the PHYs */\n@@ -1250,7 +1234,7 @@ static int ks_pcie_probe(struct platform_device *pdev)\n \n \tif (ret) {\n \t\tdev_err(dev, \"failed to enable phy\\n\");\n-\t\tgoto err_link;\n+\t\tgoto err;\n \t}\n \n \tplatform_set_drvdata(pdev, ks_pcie);\n@@ -1337,25 +1321,18 @@ static int ks_pcie_probe(struct platform_device *pdev)\n \tpm_runtime_disable(dev);\n \tks_pcie_disable_phy(ks_pcie);\n \n-err_link:\n-\twhile (--i >= 0 && link[i])\n-\t\tdevice_link_del(link[i]);\n-\n+err:\n \treturn ret;\n }\n \n static void ks_pcie_remove(struct platform_device *pdev)\n {\n \tstruct keystone_pcie *ks_pcie = platform_get_drvdata(pdev);\n-\tstruct device_link **link = ks_pcie->link;\n-\tint num_lanes = ks_pcie->num_lanes;\n \tstruct device *dev = &pdev->dev;\n \n \tpm_runtime_put(dev);\n \tpm_runtime_disable(dev);\n \tks_pcie_disable_phy(ks_pcie);\n-\twhile (num_lanes--)\n-\t\tdevice_link_del(link[num_lanes]);\n }\n \n static struct platform_driver ks_pcie_driver = {\n", "prefixes": [ "v7", "phy-next", "08/27" ] }