Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2217227/?format=api
{ "id": 2217227, "url": "http://patchwork.ozlabs.org/api/patches/2217227/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260327184706.1600329-15-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": "<20260327184706.1600329-15-vladimir.oltean@nxp.com>", "list_archive_url": null, "date": "2026-03-27T18:46:52", "name": "[v6,phy-next,14/28] usb: gadget: tegra-xudc: avoid direct dereference of phy->dev.of_node", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "c4d852229c4453d3224977c5bf7074062af3a836", "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/20260327184706.1600329-15-vladimir.oltean@nxp.com/mbox/", "series": [ { "id": 497822, "url": "http://patchwork.ozlabs.org/api/series/497822/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=497822", "date": "2026-03-27T18:46:39", "name": "Split Generic PHY consumer and provider", "version": 6, "mbox": "http://patchwork.ozlabs.org/series/497822/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2217227/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2217227/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-pci+bounces-51340-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=Cc4Asdn3;\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-51340-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=\"Cc4Asdn3\"", "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 [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 4fj8zz0llTz1yFp\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 28 Mar 2026 05:58:23 +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 416CF316AB96\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 27 Mar 2026 18:53:13 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id A4E533A0B26;\n\tFri, 27 Mar 2026 18:49:10 +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 BC3CC39DBC6;\n\tFri, 27 Mar 2026 18:49:08 +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:03 +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:03 +0000" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774637350; cv=fail;\n b=A3SL16hmRmfvNCWOUIWoUy/B2CB3K/RdiWQHM3zbavI63u17lePeIebgdTT3xEmDLrJjots3AyLJPmeB6pZJCi7LXwv7WoobEgZyQ07QWg/1/kMCbpRxNxb+PDE/tUXqeKy3dtQOh5IRS7naR3xK3fRurJytsIWzTGlJ3NRqHcs=", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=XjYRxWun0niFNf/6en5Lz8A/mpEy8YfelrKJ6g3P8difQX71Yq3714PbXfxnGxbpp4SghD6NN2WJ5FLJ7G9yT04Ojv07KoAyohZDFfoaJ79EL9O8MuFNas1x/BQ+Cngh8Bfw4z2I9QznZmNUrwAblHJM/+cXYHfuKWQHC9VvASQNXYl8QFyAU/YqybnQzHV8NBwkaqEEP7mUJIKTLBuSopg5rV4jalyFisfSV8m9jlyPGEU8iZHWesJC/ZoBfxYsFhCPBi3jvnlcj8bSHAtq6HZIu6vKAVFsPHFIl2IXtV5EeFLj++2L2fPH2QXgNa8rPbfIn/nQm62Gb2sAmptONg==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774637350; c=relaxed/simple;\n\tbh=Hn8eO2mq5bx7gMilCvoHXSr9Vqvx0nkHT9QsX65rQ1c=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=GZmdTmlovv5JslOdAkziJpo2+UcNlGBP9ZvGrAqekmv05pEXwGLcwTj/3+hX4eUCuO5kDYYNZ4xUUkXZPiAhZSuE0TD5wWpAQYEvpgWs8+yLbtqOmc2jWyp96RwMkS0wSDrcXzfLHsAVarji5X/mLA9DqwOgnsdL2TLii4lAd1w=", "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=EkGH12uo304r4vo29sXvLbJT1YloeEpsZSg3SvudV3E=;\n b=MvtEyUzr7mgvvR+sS+iBRdRe9159ge1YaP4/eySNbGNO4th1I6ZurVU6vkN+U6mwaj+C2veZYHd/oXRJIVRWm1b3n3UkScvZ6cIhqefVsP/n8t37RXeHVn61LAJe3zWuF6/BJ7O+OWWChvCw2MUYuXB1jJ7SAuHGatRVD8vandflrjJoBgrEpf8ONBDl3veEXD+ysEDRTcYPnLSjpozFAb3vc4lBe4TvAfeyEQhvhgSIhazTQ/EA4nB/wCyrRsWXfdnjjFzXYbWoKYEWhJ6n1puuvFdOZpcGIzcWw5TIR6CTkLN6+ZPoi6f7UQt6nwtum37CI8YRDP5+N9zixbf1Ow==" ], "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=Cc4Asdn3; 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=EkGH12uo304r4vo29sXvLbJT1YloeEpsZSg3SvudV3E=;\n b=Cc4Asdn3gPan/gogkJibmGG9PaPVYQwcT7w3b6N7tdbfD7RK3yCROLdX7lBRHWm2rCIcO5ikumeb0a7S9OwfKQy5xO2Xo7yQikcNdeX87WRb+49xrpErGVE4sav678cFoR+9ze7vCCzFwKefibE2JohzBVYUuE2vP8nilCbM1Viae26yAb5ZOaHLJoRY5Y0FJW1JXJ797UIcJWVcjGShtrLbZaCdNrNPHb7fucY1m9ikabTL/Gr+dVfeXWHE4hp0FD5551cY+cWy/LNFRPctSsK2hh25G4P9LUlEf03Zzkw2V09VI3XkHnH+hdadsWFn0IoHzdgCUxjX0eiKJY1g3w==", "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\tGreg Kroah-Hartman <gregkh@linuxfoundation.org>,\n\tJC Kuo <jckuo@nvidia.com>,\n\tJohan Hovold <johan+linaro@kernel.org>,\n\tJonathan Hunter <jonathanh@nvidia.com>,\n\tMathias Nyman <mathias.nyman@intel.com>,\n\tThierry Reding <thierry.reding@gmail.com>", "Subject": "[PATCH v6 phy-next 14/28] usb: gadget: tegra-xudc: avoid direct\n dereference of phy->dev.of_node", "Date": "Fri, 27 Mar 2026 20:46:52 +0200", "Message-ID": "<20260327184706.1600329-15-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": "VI1P190CA0025.EURP190.PROD.OUTLOOK.COM\n (2603:10a6:802:2b::38) To DU2PR04MB8584.eurprd04.prod.outlook.com\n (2603:10a6:10:2db::24)", "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": "DU2PR04MB8584:EE_|GV1PR04MB9515:EE_", "X-MS-Office365-Filtering-Correlation-Id": "eb0d1e12-505d-4571-678e-08de8c3183ff", "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\tr6h1IEjdNqfbjv2JWAk2x7G2DSIWIQxpBI+Ud8DBGBz1xb7vRIB5fzZClPhzMCvl2A/VK22rKI11V9dl9SZZXjRUjYCCwDHqC8YA/x/OvkfsDdejWWORe2F27SnKG0UMyyl6gV2/DsE8XDcCeri5CG82YA3M2GCEMEuUdmZ3tU8MoUeV0DSGPNwM2AYi5QrsjrX/WCszJFKJQcvN112p+QHmbjVLpuKmWSRjNqNKRvdlm/VcL/hMAcydGOI/112GG9TOMqgN0BCqmjvzs61Q1DiOPKCSeCdXM5J7TauOZ+3I6+bJvR1PmvVcSX3jZMJGuSf7OKm4mjA7BkgV/OrKYToBqiEq6FRv8Tj9eibgSLE5SC7nprGbEyn4742dDWNKsw4nrmD/ySaUz003FIRhvnN7YYS4S607IF8Er3PU0le+m3R7tJ3YnV54maai1zfnNlQM+sp8XJ+iz27098TC02Kn0CeR0GsGQIAKJMeL5ki/maYcHwBKyqSuapthvZ5lv1ljFwWxCV0/mIfApAu7QKPawy1L4A8j9uAivRnLpfbOaTY6IsU8cpADmESWlKiXpbQ518MK9397hWRds58gqdySb+3vFluXND7ccpsSHHF/SGKc0STgDTkqPM6j9vYnFDI9aB4W48DlNNia1HTPUfGYxXMbexhlwaAkw4A7b1NXYX83q2NHMRw5pYphKQzCGb+CiX+kbi1lcsn5G6tBEFujtLik55Ijg5AsVhG/6F4=", "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 YeIfrv1QqqaOtFRQmjr8CHM6v3ihISxHvtzn2/1IYJp/PkxXdFvQpNmNkLUAk41tK/HDOr7kB3wSaee1lhh8pTLQAmytov513ZVtB+s/L7i+9kV2ZsCJ+5AXqXerXVw+MmfIXCXsOvSJ4Uw6Aij2ofIWL4jk2sslGAChem6NO8Qm0O50YVcoMkdmqy8t+sIhAqtK1s8yNJ1ZlgUk95BBMGnWVNatoGCRmIqpbfeNjB+H5iD20BzRPCC1L3A3e0V8tE46r/sUWKLfKOo5sBwOkTzmDooxjb6XTy4yEPI8RzoMBMT5H4nPO8MHH8IKCaoBqvtyglHXtw6axdb62GHDJsOG+R1lPLHvLFzVjaRQ/JD/1cCb3xatk/ngbJRbTvLZzrvdh3PTZS8Fngm+6gJCwJU0ke75NHIEgoqh3EZh9J/4ILiSBJWwLA2iOm9frbQOrEm/Kf2GrKAwNnQuxHoeepEHSzNS0V2iHROJYs4mHm8iIboyHxS4F0slUKvTE2PFx3Rrm9thce/nal6FyFSMr2YLx6AK9HoMSH2jZxQ1Fcv7qk7eZyOFJhcqzmDjzEzivRd37QFZ3GtMt++mw83Cip64INec4BvhcyADjLfjFXP8+G4Yb7IXJ0jwV0sUBv8ovHT9nFSqXvY43TEZyGVoNDRZA//YWhIIoewu6FzlO7LfMhQiD9mQX1WIusN1rXU+7sSVcadkIv0UVCDtcP6bKiKktH7Qh1BR0jJVZX/WLeV8ewHhKRlxTjwG8JzBq6oQjlk8lOxEp6oUHuVlYmiLBFBrhgmGrG6fG3yv1PScBJwGIWHFMLGke/gXtzkbLr4EucQKdbgRy6zT8xchsgtC9dbd7xzyD25ESifdIxIIq41wjUqFzkVnu7b/l+wLkbFceh71KAJcY/5b1/GEBcr/pz1uAoawyVNbp3O7BQhdd8MRYbVVtCJwskpJ6Od0w+9K0L/baYeZmOX/SvDsicCxoQvh/tE3stWn3AO6lLBFRjWCQPxFYP31qHZc2mLK9PKYAR3Sbn0v2i0QKqZpE1Hi0/v0W+7PgbMpwso0wPkEWq7Ih1PSuDGKxiu0bRQdfswWSWJh0nSr0KDRPRouWv89osCrhYSd2Cwn6ofhGWndw9hZOIMKHBpkfc9xXEhBrld2DPG7F9J6G0ZhxiCwBwfA5KyVVrWUqP3h1nqj+a1+q1pVgvDiiRMtF8SwXEDdqIeCOj32FoOBoyDFQ6/DdvxuIG76yKw2TO7vLLsdZsHNTegVgdgSRr3bxN4759LwjqhPNQuBaSnIwH7NNRZ5Hp/0tospM+Qz+fKHz8H+W/KKd7UQbZtd4lxFqmf/j5eNDq4QF/wvmzS72MdI27/nAJ2RuLHGq9mLRtMR5fGzm5uAI6TVUp1XxoIBZW4OAvkGkj7skDsyWCU88k8Bb+aDhNY4TFs5GBNLEPdt5mCrorU2AA8wNPX5jn7OoX+PEu4khxxvxtXRXb4RLNfKUWwBkKs59VRfhca6FS+1oFYn4xqAt9ETz9GrZFLJakVOD9s1mxS0MwAbB76wSOIBAIEKJ/KUDcnFeLsVQPZ091j14gr2yohAHZ9lu76s7vg5xUWsFmgJw3Dehs7rOHW1BoEbX4VRy9FLhp9RIdxLM9N2Tqlys4HXIEUVrLtPUZ6T57oQ9GVA9IkwVosJ3Nq1aqyWlkHzDrNRWJp2LWl6PZQdfu4oBNdkbhbNInoEXpjrv/XzyKKmV2aOhY7kT7nVRj/CMcGCPiIEgHp+oyIR7mHF5H1HwY/IuK3EofeM+35PFiM0uYowRlXDbLpN", "X-MS-Exchange-AntiSpam-MessageData-1": "ieyNC1udSNsdUcgAJ42f+DMBgFcMJ5EWwcM=", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n eb0d1e12-505d-4571-678e-08de8c3183ff", "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:02.9998\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 2agizCjun8Bvo0jLa7Kq8/E6JfW/VcQX8LTCFOWSWwnBDDXUtMxGWaJhx02Pn2AXNtLkr1bzIynycHSG2zTcPw==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "GV1PR04MB9515" }, "content": "In a somewhat similar situation as the Tegra USB host controller driver,\nthe Tegra XUDC driver for USB gadget mode needs to get to a struct\nusb_phy that sits behind the same OF node as the Generic PHY. It does\nthat directly, which will no longer be possible. The PHY provider is\nalso the xusb padctl driver.\n\nThe rework here is also to implement a parallel OF node lookup path\nbased on the \"phys\" phandle and the #phy-cells of the padctl provider.\n\nSome further notes:\n- create a local \"usbphy\" variable to hold the devm_usb_get_phy_by_node()\n output. This makes the error checks more obvious (avoids keeping an\n error-encoded pointer in xudc->usbphy[i] even temporarily).\n- the \"if (IS_ERR(utmi_phy)) .. else if (utmi_phy) .. else if (!utmi_phy)\"\n pattern can be simplified, considering that neither the IS_ERR() nor\n the NULL case continue execution in the current block. Therefore, we\n can move the case where the \"utmi_phy\" is a valid pointer outside the\n \"if\" checks, and this reduces the code indentation level.\n\nSigned-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>\n---\nCc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nCc: JC Kuo <jckuo@nvidia.com>\nCc: Johan Hovold <johan+linaro@kernel.org>\nCc: Jonathan Hunter <jonathanh@nvidia.com>\nCc: Mathias Nyman <mathias.nyman@intel.com>\nCc: Thierry Reding <thierry.reding@gmail.com>\n\nv5->v6: none\nv4->v5: patch is new\n---\n drivers/usb/gadget/udc/tegra-xudc.c | 35 ++++++++++++++++++++---------\n 1 file changed, 24 insertions(+), 11 deletions(-)", "diff": "diff --git a/drivers/usb/gadget/udc/tegra-xudc.c b/drivers/usb/gadget/udc/tegra-xudc.c\nindex e9d33be02866..cf4e6c87e44d 100644\n--- a/drivers/usb/gadget/udc/tegra-xudc.c\n+++ b/drivers/usb/gadget/udc/tegra-xudc.c\n@@ -3494,6 +3494,7 @@ static void tegra_xudc_device_params_init(struct tegra_xudc *xudc)\n \n static int tegra_xudc_phy_get(struct tegra_xudc *xudc)\n {\n+\tstruct device_node *np = dev_of_node(xudc->dev);\n \tint err = 0, usb3_companion_port;\n \tunsigned int i, j;\n \n@@ -3515,7 +3516,10 @@ static int tegra_xudc_phy_get(struct tegra_xudc *xudc)\n \txudc->vbus_nb.notifier_call = tegra_xudc_vbus_notify;\n \n \tfor (i = 0; i < xudc->soc->num_phys; i++) {\n+\t\tstruct of_phandle_args args;\n \t\tchar phy_name[] = \"usb.-.\";\n+\t\tstruct usb_phy *usbphy;\n+\t\tint index, err;\n \n \t\t/* Get USB2 phy */\n \t\tsnprintf(phy_name, sizeof(phy_name), \"usb2-%d\", i);\n@@ -3525,22 +3529,31 @@ static int tegra_xudc_phy_get(struct tegra_xudc *xudc)\n \t\t\tdev_err_probe(xudc->dev, err,\n \t\t\t\t\"failed to get PHY for phy-name usb2-%d\\n\", i);\n \t\t\tgoto clean_up;\n-\t\t} else if (xudc->utmi_phy[i]) {\n-\t\t\t/* Get usb-phy, if utmi phy is available */\n-\t\t\txudc->usbphy[i] = devm_usb_get_phy_by_node(xudc->dev,\n-\t\t\t\t\t\txudc->utmi_phy[i]->dev.of_node,\n-\t\t\t\t\t\tNULL);\n-\t\t\tif (IS_ERR(xudc->usbphy[i])) {\n-\t\t\t\terr = PTR_ERR(xudc->usbphy[i]);\n-\t\t\t\tdev_err_probe(xudc->dev, err,\n-\t\t\t\t\t \"failed to get usbphy-%d\\n\", i);\n-\t\t\t\tgoto clean_up;\n-\t\t\t}\n \t\t} else if (!xudc->utmi_phy[i]) {\n \t\t\t/* if utmi phy is not available, ignore USB3 phy get */\n \t\t\tcontinue;\n \t\t}\n \n+\t\tindex = of_property_match_string(np, \"phy-names\", phy_name);\n+\t\tif (index < 0)\n+\t\t\tcontinue;\n+\n+\t\terr = of_parse_phandle_with_args(np, \"phys\", \"#phy-cells\",\n+\t\t\t\t\t\t index, &args);\n+\t\tif (err)\n+\t\t\tcontinue;\n+\n+\t\t/* Get usb-phy, if utmi phy is available */\n+\t\tusbphy = devm_usb_get_phy_by_node(xudc->dev, args.np, NULL);\n+\t\tof_node_put(args.np);\n+\t\tif (IS_ERR(usbphy)) {\n+\t\t\terr = PTR_ERR(usbphy);\n+\t\t\tdev_err_probe(xudc->dev, err,\n+\t\t\t\t \"failed to get usbphy-%d\\n\", i);\n+\t\t\tgoto clean_up;\n+\t\t}\n+\t\txudc->usbphy[i] = usbphy;\n+\n \t\t/* Get USB3 phy */\n \t\tusb3_companion_port = tegra_xusb_padctl_get_usb3_companion(xudc->padctl, i);\n \t\tif (usb3_companion_port < 0)\n", "prefixes": [ "v6", "phy-next", "14/28" ] }