{"id":2232809,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2232809/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20260505100523.1922388-10-vladimir.oltean@nxp.com/","project":{"id":21,"url":"http://patchwork.ozlabs.org/api/1.2/projects/21/?format=json","name":"Linux Tegra Development","link_name":"linux-tegra","list_id":"linux-tegra.vger.kernel.org","list_email":"linux-tegra@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260505100523.1922388-10-vladimir.oltean@nxp.com>","list_archive_url":null,"date":"2026-05-05T10:05:01","name":"[v8,phy-next,09/31] PCI: Remove device links to PHY","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"4a4ccb78275e34416bff8c45b22308372dc26a64","submitter":{"id":75582,"url":"http://patchwork.ozlabs.org/api/1.2/people/75582/?format=json","name":"Vladimir Oltean","email":"vladimir.oltean@nxp.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20260505100523.1922388-10-vladimir.oltean@nxp.com/mbox/","series":[{"id":502802,"url":"http://patchwork.ozlabs.org/api/1.2/series/502802/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/list/?series=502802","date":"2026-05-05T10:04:55","name":"Split Generic PHY consumer and provider API","version":8,"mbox":"http://patchwork.ozlabs.org/series/502802/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2232809/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2232809/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-tegra+bounces-14187-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-tegra@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=U5D2L6/e;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-tegra+bounces-14187-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=\"U5D2L6/e\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.72.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 sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::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 4g8vSW1Nnzz1yJV\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 05 May 2026 20:11:55 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 0FDBA3093934\n\tfor <incoming@patchwork.ozlabs.org>; Tue,  5 May 2026 10:06:05 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 76B2D3F23CB;\n\tTue,  5 May 2026 10:06:04 +0000 (UTC)","from AM0PR02CU008.outbound.protection.outlook.com\n (mail-westeuropeazon11013037.outbound.protection.outlook.com [52.101.72.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 722AF3E9F76;\n\tTue,  5 May 2026 10:06:01 +0000 (UTC)","from AM9PR04MB8585.eurprd04.prod.outlook.com (2603:10a6:20b:438::13)\n by DB9PR04MB8363.eurprd04.prod.outlook.com (2603:10a6:10:24b::11) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.26; Tue, 5 May\n 2026 10:05:54 +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.9870.023; Tue, 5 May 2026\n 10:05:53 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777975564; cv=fail;\n b=VXcU7yq3TtZ2N8kObVa1dpAnvxHls/oRkyxj7PDhk+MA0zbUs1Qxmv4YyWurscuF5uU7veBmNsN6lZGI5qhfQ0BvtchSHOPAl6//glvw0pgWCQejdrwlA0xNuc6DGh/rjXK/wsv8QY8/xeOq9B5MWXI5Zstjk7h1ekLO1XhBfiI=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=cuh/Mmxb8dnkO1aWr5frqQFscVRlJccapKlT9wq1WVaLtTZMesthm4a3+36HXWlnTEaFdAj90ymCpH339Hghp6yzoMD600dR4IWcSd3x5K3A4iHKW/gGD6h9Z6gZkDpNTqjqriLsE23KJbsOH0HxbJdSYnPWEJpBegQlravEbYr7uCjUgsKS8UgFxNgG0K93Se8zn3SsuCmscaN7riO62mlG8G5LQes6KWZXF9ZkLnrbTIb/DytKQ1Bu9v34BB4/am++S/ZkLdHP8hAxmbDK+5Zu9wiXxE6CxwPep421CkUIJyb2ylwdZA2xuNcZgVJFxiYXnhGJbKkPgGzBWowyvQ=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777975564; c=relaxed/simple;\n\tbh=1ljUqg4XIpjbgvqs6EjZdgMNIa8yruZPMzdYaC7BEqc=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=ArWPuwxHoINjTXhv+2f6+08aFzMPFxyLJn7ZEMViyBSlZbh8Qtc/jif5SzK+QbwIDnzHOQkwdgTB2QzBQ2c3gEyU5PdPfuD22/pOfDdw/17UWj8iP7fcksfFv+th6cr2fmI2oeFkRWJWahajoDPazA2kBYtCUyF2sUK4mIgJhXU=","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=+h4UJ0BCnmpUdlD+n1nGOTWl4jBit4VSNE5zBKBHCQ4=;\n b=AIOBEHhY/dJ080+y7cgu4zBmB/jI9fjRw9FxIiPewP4He8aU5YNrTu4JVoqCWeec75RGozkqLU5OYCMnI2WUNUYNHO79dHB8Klcp2N0hK89bwBKkprDn9zP25madKLNKviMC56rcsS/WfuauwDTehRBpyBXiheS8xOx5ImoHw/06X31Mxnr9kRtV0WJXiUsDiV3JwVYAnrn0wkExy3n0sY9WCMUVEoVXnFzcfFy8toMi8ZvzczPM/DKJZNChgVcgtRSYs/XsVndi6yDJS9o9nQL6VKLp5j5VFkTMQNXATIx1NHV1jawypmZh2wwbC9iclB1awya1ccs55RQrMUfQtQ=="],"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=U5D2L6/e; arc=fail smtp.client-ip=52.101.72.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=+h4UJ0BCnmpUdlD+n1nGOTWl4jBit4VSNE5zBKBHCQ4=;\n b=U5D2L6/eqeScK7+Nu1tqU5ilxwdr0RotO2dFaNbjrf8/TrtqoRUESHHsThrfUphS5uCaKFZoM9xvCoPtJTamugf0axC5xkJKS18+RmTnywx0ExDoQY+bsPTi/cT3kdbNckgdwuOxO/msuczT8qAjJbzpcGBo6DiMJk2kee6NMqrysWkMme+91So2iVpbBhgqkuWSCdxTENPTW7v7W/W8nqXSf08lBwE8KLer9keOMuB87Y7OPn0OjxD1Ec6jlN2P8kHBjtdkVE7Tp3dPt1aowN1aeTtuWT0uL3npiFuGAT3/+MV5xlzEtfgYJ3goDwF/81UYE9Jtnsc0uNvpGaG5WA==","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 v8 phy-next 09/31] PCI: Remove device links to PHY","Date":"Tue,  5 May 2026 13:05:01 +0300","Message-Id":"<20260505100523.1922388-10-vladimir.oltean@nxp.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20260505100523.1922388-1-vladimir.oltean@nxp.com>","References":"<20260505100523.1922388-1-vladimir.oltean@nxp.com>","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","X-ClientProxiedBy":"FR4P281CA0079.DEUP281.PROD.OUTLOOK.COM\n (2603:10a6:d10:cd::9) To AM9PR04MB8585.eurprd04.prod.outlook.com\n (2603:10a6:20b:438::13)","Precedence":"bulk","X-Mailing-List":"linux-tegra@vger.kernel.org","List-Id":"<linux-tegra.vger.kernel.org>","List-Subscribe":"<mailto:linux-tegra+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-tegra+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"AM9PR04MB8585:EE_|DB9PR04MB8363:EE_","X-MS-Office365-Filtering-Correlation-Id":"cef60d58-3980-4f51-46e9-08deaa8de4a7","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|376014|1800799024|19092799006|7416014|366016|22082099003|18002099003|56012099003;","X-Microsoft-Antispam-Message-Info":"\n\tkweEMLngJXrC+myHwAtMD8EC8yE55nDuv4BtpqzSGR5yKhXFvXqfLQbJMQQsQzA2Te3oaxtheW0yu3WTxr85iXAxQeRodSbojCp72m95fKTycl/dGP2t0zUs0jew0D+r9cKiR20bD5VsKQ4DB5npzPoQOEjQckQK5ZVPVv8K7jCA68LYzM0VZ2lSFny4H8QitxjkzLHVX+iVZkntldftHgneum1E98Ikl/96+7KFZ4onwxVZxVimjPodY2K8SsiB4SaQsFUGTkiR+Zu4urFHY5Z7RgVvqEUgFk4NIrPKi+DeOVTPme1YusueVs9n6C7ztbw/Z/Rb9udM18eoNsH72zloHWpXDrIg1r0a/wJL1Tfo1DNVj0gh24Y8ybQUxHDhfzQhMBRtuoR6bRgOowHmbYTbHNYm4j7qNMT2PHrK4Du+R1FMRokAg509tO6LT8T7hGtnEGBylu3ovn3+0R14kHRVO3Slu6lkfAEN3H5uPdhlcThTX3csHre6zlMVn+nnIjsLjJ5LgUOJQ3ajexuRHAQmfKvW9PpfjSInwPWtKGRjZBPL/0HyMFIaq8e6+JoqvXb/pRnYiLYJZnN2utkZJqPB8kRwEuUS9G55fb57kYebaQXGGffeqKpJaBYUgF9A0vTAnrmVlwJ0GY8H8tkKD+TTYAgW4JybweqjElts16cYgPw2JuYKA4blyBTf9Kx9","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)(376014)(1800799024)(19092799006)(7416014)(366016)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?8gsrxAoZV1YnsyQSbvtVrtMYDIGV?=\n\t=?utf-8?q?WluMy+uz0XNssVNekVqkWKLhB3bprB7XTl7zLUAbXc6a6bp3p+s55Q94WfvRKm4S7?=\n\t=?utf-8?q?SV/AOk/hAvWhmJ0lNnvHoMzjXKOnNbmux8MbhvHoKHgzBlSR36IivruQBnXUtx0E6?=\n\t=?utf-8?q?OpqbsiP/TeP75K7dcTtORllWEhIu9bZYxAvlaazbwLWMlOJvAI9LriVURIY1HPOWE?=\n\t=?utf-8?q?FOqb70SbXLyY59ULycG/8gAq+4pYhuQqPRK+AKwY6T5g4rR7e0nQV546g29oj71mh?=\n\t=?utf-8?q?1VFUQNiUsBAtQWFCmu9IxEM0c9I2fr62v6j7kOTTnXfHhgivu917fF7eYKgnpQwDc?=\n\t=?utf-8?q?PJHzUg6OQnbKEt0LOEDnxv6douR3aY/TpnWQH9/VZdt+53zKQn2/U2I7VQwxcBo+P?=\n\t=?utf-8?q?YmB64E1sMa4mOECOYz49air15d91bDab2T03Uf9n7fxbVGf/dTQ/HDbc6rkoWnN37?=\n\t=?utf-8?q?rb+Fa1tDCYzNf0IHkxdy+0/tPVhhT0I3Ch7LQu62eu08XaUnYWSu45kkrwcIfYoUo?=\n\t=?utf-8?q?rkNK9qNyQxdCAHhY+VX63A8NYAXUqLwKsFNnFJtbYFXeKhlnB6AQXPZkZqx+BuRYM?=\n\t=?utf-8?q?d9EVNRw/c2q7AnnVU1KC3Y8vGOmkwRiZv7kNt+FqSTouIE72nHeWaa3443ifm5Wrh?=\n\t=?utf-8?q?bmayO5kUeeW9jUs7icTiEC7v8Trpdgx1B0CaVWmLVu79NbFwVjeSnNHQwVTrtXmNC?=\n\t=?utf-8?q?JVP+I5KrehI9qp0ns0fmgEnz6OXGSmhBVsCeyB8dVH68XOlkZhQatKjRkxAfUe8UU?=\n\t=?utf-8?q?3z5hO0PgHuy4OW/N3F5RXnbvqrPe0kQEcFAO+cUl6+PWG7jTkCCvhn8rAUgMei6Ne?=\n\t=?utf-8?q?JgxMjfhhTlaM6nkjwBFSrkGTV4o6fRRUZIcIxjH2/TpVkQGL3sOP88jJGB7Phcz3v?=\n\t=?utf-8?q?3bdJNyFciQu/p5TLHuIqUkIU5AcG4Odg/vDYj2DYg7h6bgme3tGmcois6gUnG86Wf?=\n\t=?utf-8?q?0kMR9sjenUAvbapfEUWzbiD01R31ghOIVGBsBYYQ3BjgtvpRr3OyLtCCvgvmI/L1j?=\n\t=?utf-8?q?eev66La6v2vnjJPAwO9nje0J5D/QC2wQnWwJiJVlW2hXIH122kMW5nWURuTryciMS?=\n\t=?utf-8?q?AQJyoR87D1/6bUwpefn5LHk2W95ACykEiYgAqaMbTnna7phKPf+JFIeZy5f9vF84D?=\n\t=?utf-8?q?2D1xIuyRg6muvW0lD6OMobsfW/wvdYvcU5Wp6AG+/UD9UFUj8uBrDMvrxND+VS6by?=\n\t=?utf-8?q?4rolMJeXq8IrUyN3IrVQn35la+AEmaFfQFDTLK53grn3RBA4it79I38Xd25n8+s2m?=\n\t=?utf-8?q?n7cyEvd7Bx9WBzBauO5QnqGTt5jkGrxl+Cyz83Kz+QGaP/xgaWl82vTAHIi6iY5Df?=\n\t=?utf-8?q?9CfnT0CeFmoofkwwPPYCFJN1r7l5aSjVFenFXDCWAv2i3YaNnQZbrTEQ0K/PTsWtK?=\n\t=?utf-8?q?48DzZekfyTOKK/uTppJ8e9oxoXedilBGfrheKy54vXQrHXjPvbq9cU9A5IMJVajdZ?=\n\t=?utf-8?q?aQHddZi8OoiHDcP+eZ6XnE7lo56l22vTmZorAKqfJtMR5xi4eNDdFlAayGYu/qRvQ?=\n\t=?utf-8?q?5vk7mZLNVChq9G7ha/JwTK0whnFRDZyYfYnQ6Sn6Vbb/dgYEuww4+s6k62NGomPAm?=\n\t=?utf-8?q?sD+lw9m/gZnVs3qd+MthBjG6ZDgMdQ80ZHFkbBkHhiTsJ/r/6/51f0Cq6ag3HZtrG?=\n\t=?utf-8?q?iUwzLoWNKHcResFOIR05Jwt0M+Rw1naw=3D=3D?=","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n cef60d58-3980-4f51-46e9-08deaa8de4a7","X-MS-Exchange-CrossTenant-AuthSource":"AM9PR04MB8585.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"05 May 2026 10:05:53.8432\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 sp3hOfxwbRS87L0nwgVFZOL95U+C9sOtEs1wM7zzvHB7nEV59XOQhYE8iXXWGpnvbSjGQkvDLvNG8B8RV55uaQ==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DB9PR04MB8363"},"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\nv7->v8: only context change - \"return 0\" became \"return ret\" for\n        cdns_plat_pcie_probe()\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 8b12a46b5601..6fd16e09e244 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 ret;\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":["v8","phy-next","09/31"]}