From nobody Tue Sep 29 08:26:40 2026 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012055.outbound.protection.outlook.com [40.93.195.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1C6C1D5CFB; Mon, 10 Aug 2026 17:47:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.55 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786384078; cv=fail; b=ieTQbdOBJ3W+MLILqKu2Lfv5X/Fw5Tv37JpPTFzkLGProY6+CnIBMsvP7fOfkGZllBJgLrIoJNDB1qjbU0V7S5DhU+QBnhj3Bqaz86cWSd1jcCPPw7RUo9nJNhj+40f2LPpw5klmPBHc47U9EeTxMsryuVajlFRMHYWREsccC3o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786384078; c=relaxed/simple; bh=gc20lUiKrAQwdH465jDKumkJWTXx/1BmNQEK68njDEQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ZzPYpNgWppPC0dpYFMr8/41gXzFOgPgiJ1sO4NUy16srP+9dpClea64WI9nzZ2uPmXmRPhShxvWiXeUQjg0AElKAHx/IsjFokyU6F79BhiIFNNlbWIjcUG8WMA4Gv/GO229OZ5t4DTgRY+JwmFRfcd+7qQZ9vkmHw0i4HI31HbE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=IHMWHMAr; arc=fail smtp.client-ip=40.93.195.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="IHMWHMAr" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=V5SFC+AyfOOPodP5EB5kxk6RrTaKo5XCQ+0PS9PIspjuegm2UFDXuZHN/n0RvBTKS8A2STFUCB6kJfiV1qBjg7kjz52CejKvTC3de0m42UgxrxslGwVRZATu+ujYGn2EGUtBjE0Vt910djKpd3jnVA+V/N8x9UlXve/15M5pyGQB+/x+2I2SrICW1rt10+9VOfLQzk+3ZXExOiFdoyF1IPJoLhKTRthfEfQKakdQZ8bCpy0BIfqrPqrL3jfnQM7XZ8JDxnssK647Ub9WR8YWtuPFKR8YL3k3lK4EuNf08fvlDWeV3mrrAByEBa5Qm7rSuLfD0Bd/OH/JM0CxvvrU5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=y0KiVVjsGzi9B9l+SyCnrGtTYo6w/3jGTx7xX3VYJU8=; b=ezyDwrjj/zygXfCtKEN+d2IkoxBh+pt9Itu0SejzEk/+A2c2ue4IeMkga9JqbjhU/hqX/9j0HGQdOlQyuCX4fgxYuUTREgxy0OUAOGpDLbtySMtQHO/p+lD0bPeKJ4o6soMvBzpO5JVd3GkDFmShs4aGwIDMP2qa9+oUCDDTSIgQewB+POEuoLevncWkktgdLRjKl/8EXQr7N5Mj5Pzm+dtocMl0buXoblxiSZuxeei7UWd3dexe/SaddpSLPUQCmQv8ps4c+dRm+446iTLczp4yfBadWeD1NBZSEPZlugf/XqtvMIh0b4fAmXELejmxhoKbSOVEGSRI4V4gx6aEPQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=synopsys.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=y0KiVVjsGzi9B9l+SyCnrGtTYo6w/3jGTx7xX3VYJU8=; b=IHMWHMArkA3/6EfP7hrCR1MRhn0YmrY1Viy/KF/TGRcdJTD8BENf5EK4W6BTgXDtMKwKlAcA8e6aAsvd9mZ872xkhuk40HOFoF65d7o84zJnrTCmg33A5Xw9fEs+NPj4eeGaTrgLEuBbUyuqUl1Mfv4peVafwQX734v2yE3FVdk= Received: from SJ2PR07CA0010.namprd07.prod.outlook.com (2603:10b6:a03:505::27) by CH3PR12MB8512.namprd12.prod.outlook.com (2603:10b6:610:158::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Mon, 10 Aug 2026 17:47:51 +0000 Received: from CO1PEPF00012E7F.namprd03.prod.outlook.com (2603:10b6:a03:505:cafe::ab) by SJ2PR07CA0010.outlook.office365.com (2603:10b6:a03:505::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.25 via Frontend Transport; Mon, 10 Aug 2026 17:47:51 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by CO1PEPF00012E7F.mail.protection.outlook.com (10.167.249.54) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Mon, 10 Aug 2026 17:47:51 +0000 Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 12:47:50 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 12:47:50 -0500 Received: from xhdradheys41.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.45 via Frontend Transport; Mon, 10 Aug 2026 12:47:47 -0500 From: Radhey Shyam Pandey To: , , , CC: , , , , Radhey Shyam Pandey Subject: [PATCH 1/5] usb: dwc3: xilinx: use device_get_match_data() in probe Date: Mon, 10 Aug 2026 23:17:09 +0530 Message-ID: <20260810174713.2325292-2-radhey.shyam.pandey@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260810174713.2325292-1-radhey.shyam.pandey@amd.com> References: <20260810174713.2325292-1-radhey.shyam.pandey@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF00012E7F:EE_|CH3PR12MB8512:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f86093f-ff79-44a5-f374-08def7077feb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|82310400026|36860700016|11063799006|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: UOHQ8S/1GeIYIARqbx1kEhziYoN7NjgNfAx7Gj7eSFm7yBaK9T0qxu3gHFbvzRu6q5D+Sb2MGjgXn7gHg5Ckybio5sgBMC1vxIjtUskVxXJuTaxKgDGVCEvmunqpI+F1CvFl5T5CNmYxsSBv2EhhI5BAPNC2n2PJBLGpYcH6CaUBEevDaclivu381kZvhfVEDR2KYhvKwE8h9tblg+mycsbdvaCoF3TS7an1sNfoddv4HoQLMMuoekw6QoejNsHEupDhUF9jppfF60IcCFJY1CGfMIZoB7SNEr2m0jqChyegnaXQwjxRphkA3yIYgQ8ax0Clu4zhu4GfeRX2bFxb06RkMm+2oN4QvNMf+voZWaSuvJQBLP0jz2mrwQN/qVxmNHpmFev2OvOJlpXZFSF4tVCN7F5K0NvC+AyAZKaz/P/QociNpz4N065ne/knhX/n6t8DJ+86w9LmZvhxqsrioSCs1pjZhn+HZ+GUOOooOIuy4IH8306P6ivOjoSLQHLJuPLYZmy/zrsgu+QhuVlJLqw57bq+sJlqaC/1ocOuRnXwElR2UHSnxAKl39FN/NkktWcctL8jrSRRbKBdrcpLFBAAh3yKVBf3J6Fksoj4PjBbtiWnG3rPqD9eRjXyUiDdYh5NOLSk4ldb+dgWW7sHZXOPMKuEp5YUMEDo43NIYj7GqTPPtsZu5ecKy6O44hc8GLPjkkpSLDLaBMv4OebvRw== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(82310400026)(36860700016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: jKaP3KPDfKuEHo4zjHJBZxxtZru6VSgM1fdfiWD6fHGkI9ubbf/sJUZ7pJMhKUHAzByAe0hSYWXO7VW/dH8WA9Ee91+kQWlHbB4oBEkBYxj+QsOFaQNMvjHACrYoGNSviwQqGTJJQ3gJIkneJe6s1j8KemBRY0dX9HNlcIGNm+j4zv4ED32850RGNjVHVmHv8kMRBLTz03wK6lCFacJJsxKh0BIxqjkfzDwuF2IwN0Om0i2gNH5qxZ+X6kHE9eNr4gJf63UXA0xk2hlaq0rQfJsy+GSwtyya2K0T7t/3luYC9QnitEeLTxRFgfGBlLoM8HDTVZkgYoOVEKStQPXmVsBpHfOrxh3VuIvXRubO8RiH/Yf2xNxVfpqfTkh1uYcrao+sYWcDj/aX19wyKmhMPnuvg0WRLxVd3j8Vqf3UIkKrRROnXFPZfT8cky0M9d96 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2026 17:47:51.4846 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9f86093f-ff79-44a5-f374-08def7077feb X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF00012E7F.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8512 Content-Type: text/plain; charset="utf-8" Use device_get_match_data() to obtain the platform init callback from the OF match table instead of calling of_match_node() and dereferencing match->data directly. Signed-off-by: Radhey Shyam Pandey Acked-by: Thinh Nguyen --- drivers/usb/dwc3/dwc3-xilinx.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/usb/dwc3/dwc3-xilinx.c b/drivers/usb/dwc3/dwc3-xilinx.c index b832505e1b04..1a8619854d6d 100644 --- a/drivers/usb/dwc3/dwc3-xilinx.c +++ b/drivers/usb/dwc3/dwc3-xilinx.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -279,7 +280,6 @@ static int dwc3_xlnx_probe(struct platform_device *pdev) struct dwc3_xlnx *priv_data; struct device *dev =3D &pdev->dev; struct device_node *np =3D dev->of_node; - const struct of_device_id *match; void __iomem *regs; int ret; =20 @@ -291,9 +291,11 @@ static int dwc3_xlnx_probe(struct platform_device *pde= v) if (IS_ERR(regs)) return dev_err_probe(dev, PTR_ERR(regs), "failed to map registers\n"); =20 - match =3D of_match_node(dwc3_xlnx_of_match, pdev->dev.of_node); + priv_data->pltfm_init =3D device_get_match_data(dev); + if (!priv_data->pltfm_init) + return dev_err_probe(dev, -ENODEV, + "missing platform init handler\n"); =20 - priv_data->pltfm_init =3D match->data; priv_data->regs =3D regs; priv_data->dev =3D dev; =20 --=20 2.43.0 From nobody Tue Sep 29 08:26:40 2026 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012067.outbound.protection.outlook.com [40.93.195.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D1DD942B75A; Mon, 10 Aug 2026 17:48:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786384084; cv=fail; b=FvYAVw5xo4WsGfMWJ07zfhhW2jP2CIoVYCV+/jpDoPEi8IMnNTzOPzTpyk/qRt/cXUFSiUqnfYjzNAZpR0YvcjxlOni1bRCVHf64IhYO4pGlO12Sl8/bV3xQSisw5U1fgdSDrnbhc+bcZo7iHLKPXvUCW20c905P08lcj4L3HRU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786384084; c=relaxed/simple; bh=FO0ldPkCodJfBq+rK4VHXo5Oht8iVWsZ6h0u0f1c7O0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ceB44xi/fq+a7xHbkdMpDraRM2L98oOM2UDoxbA1Pc7M6hNkLjTS+03ou5hUGkaq7KaJbgsl0C5789m0WUn6KgN5OZqkodzl9XYJFSyhkmbMXVgDKObNci6Cjgr4WibFd9SicX68sF5KjiGdNI7x5YQFsBg+GejXDb1IyqU+g1E= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=hKt9VS46; arc=fail smtp.client-ip=40.93.195.67 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="hKt9VS46" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=T6zFr5ECCwBSjUFahqdMi7AVEWnORS5c3AJNBSgy410SlzaFYtl9J5WyQeSsQRaBhAmzK1+Qaq/jVhm0NWiMf0/RliPff4J2cq5b1StfEIIXHcrzy98nS2KdmQUesaiF8zBREWMC3ab2kHsb+CL1wmIE81AYhlmbsiWzYx4BjGl7PQNLfWmFVHI7a0DjOL9aj0DM5kFVV1Ub23KRprvIFj2acZeP+9bVnvO0dEGKegV97iLqNM2nqtAyg0lKH2PgGaspZ6H+kYggGAE4k57S6nDACUeR0wkz7XBuaCcpkj/0Ky6LDKQLmegaSQHes1+nWBrMrp0k1KcnEzYuBhagDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=9XuOFmpSxIUqcg85hLaC6GxN0W6+YOQdgeADTCLYqZY=; b=ppGBu3/xH73Oobi8F9NhibpQA/Ehih91AvXCHGXDst6lKoX6Y75FiZ8aYJu6DahP5N2HJ95t72waDo8KufAWlsfa49WkvOkHxd5wvDFtrwR4LBG55Hg6ake+4C1wn02R3onQUfGaX00z2/LTH4uK7xKmsGzcVvufN3fke0+HW2YVQ8sRC+yYUq/B8mX1vsW6S/aQdzWA8DdVYt+JWs1+6wuddB+nTobi/cSZIr/7LmGoI6gLzhv6xYag/igjMJr7QAXnlBti6zTG2YGQbw8oUoH9Y7OyqyKyYnQnicOyfzXwHbmezJjywqQPWU1+IeaiL0M49THXFT4AFz/6SZYcWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=synopsys.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9XuOFmpSxIUqcg85hLaC6GxN0W6+YOQdgeADTCLYqZY=; b=hKt9VS46GWHqrWEzRYGDc9+XFA79/WbUSJCpd3MZo0kvw1nvdiXIE0tuzhMAbNRCpUVIrV5VbYezHxe8SqR8Vpeg5KFaI78xZFt1dMFO8AUFoCkZG7pK6itKoU3M91zrQ1guJI4p/2evn26lfJX/aiLbpTmCSCU6nnn8ApFQXwk= Received: from MW4PR04CA0274.namprd04.prod.outlook.com (2603:10b6:303:89::9) by CH0PR12MB8579.namprd12.prod.outlook.com (2603:10b6:610:182::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Mon, 10 Aug 2026 17:47:54 +0000 Received: from CO1PEPF00012E7E.namprd03.prod.outlook.com (2603:10b6:303:89:cafe::95) by MW4PR04CA0274.outlook.office365.com (2603:10b6:303:89::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.25 via Frontend Transport; Mon, 10 Aug 2026 17:47:54 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by CO1PEPF00012E7E.mail.protection.outlook.com (10.167.249.53) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Mon, 10 Aug 2026 17:47:54 +0000 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 12:47:52 -0500 Received: from xhdradheys41.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.45 via Frontend Transport; Mon, 10 Aug 2026 12:47:50 -0500 From: Radhey Shyam Pandey To: , , , CC: , , , , Radhey Shyam Pandey Subject: [PATCH 2/5] usb: dwc3: xilinx: add platform data struct with init callback Date: Mon, 10 Aug 2026 23:17:10 +0530 Message-ID: <20260810174713.2325292-3-radhey.shyam.pandey@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260810174713.2325292-1-radhey.shyam.pandey@amd.com> References: <20260810174713.2325292-1-radhey.shyam.pandey@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF00012E7E:EE_|CH0PR12MB8579:EE_ X-MS-Office365-Filtering-Correlation-Id: 8a4019ad-d268-4b68-664c-08def707818f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|36860700016|23010399003|1800799024|56012099006|11063799006|22082099003|18002099003|10067099003; X-Microsoft-Antispam-Message-Info: OHyapW8r0NglwyYN6L04f23VAO/WmBU0z9vxmYkBV5DKFEPzBNMVyq59gymOPFJOqL5pO8FfbYa2hUGcnNgDLXMiiDg5a5BqJKDp0Qg2De8KWbxpxtrAKEk9HwVNgCRfZho0ElW6BQ/ypghrSu2szFWuje1qbOHsOdWHE3CEcrh1DqgBxPlWfmo7pwl1wlHTGZKOZtVdj1fd+vLeIZIY28Qi7vpN9jzqJMGAjDuAlG74ZNRP7BuFy+Il+14MvQozEXGSpJ4EQ4fM2fLuyW6oH4fdCfRCu1P4hQ10+YzWAy2Z93bleMOg8ZxTN61Cqx319ghEahITOnqcGbl+ULmTB2HoUPM22GPzl0tYgORC9eNQmvrEiPWN0Ya3YD02cs4GFPkNP3wfHc/7q2rOdkD/GkSfRteSMAw1mKZozpi/DXVQ4b7zLLeiLRPGRgn6jFDLFmVG4qD3EdMUB9UbHlGIS9VFsUlyfhfOiktq+dVwpVB1Fuvteef30z5KBZdfPCtdAfK/ZKQCjh4jaJn6ThOoWHXQAscjyeKR1PWzVAPE1lcTT5NlrPBwf+npxZKkBN64JflcxCS0lk3qWsBqmUMpIt8LZmGPFXUCDlKdTUjiGa2f1U6Hv12U3ZrG7k/vhw2SwvcNNk31x3PtNVOwHgW5TvapU5Q+b3jnUuh5DAwfuumoJlFsLA6uAOVG1IXIdQwnNduHC0UoBRseBPm53Ehd0Q== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700016)(23010399003)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nygLdrUAqWQlXjvpzdNllWrxg+0Ur4yGuD23mRHoZ7WMAS5TFiqKsnsuzjefGSNkZJyNX3SEkKGuLr7Gk71nt5c+Wgcq6KTEVgJPCX65tX0JTv5K0XBSLe6c2RwIV18cNndrBPRtsmwQrRw7KKrKtWD8BREDk8hvg8eSxsmSXEbg6juQh4p1dWkPX51psEW4fXtaJp/LCSQAedXrKGTia40ZnzDrau0UqCF5FnwchW54ObUiPI+hWWYddt0IP+AyY7du/Tmo9+MS6A6s63XYFTXKHiSncc1ubwFSkZSoPSXlxhpFdp2SAllLMI4irUvAjZ411RC36TdYnbPm9NazarGBMA6LSOsUatAye3iQBpUny9hiTfBYADDkF0pU6YgoDU8bhLfaCY7r0JuSN0wmrfouDcbiO/OpDsCvSiFvS8iaKJDAF4S1tFdsHHvxeWl4 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2026 17:47:54.2332 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8a4019ad-d268-4b68-664c-08def707818f X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF00012E7E.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB8579 Content-Type: text/plain; charset="utf-8" Introduce struct dwc3_xlnx_platdata and switch the OF match table to platform data for ZynqMP and Versal. Probe calls plat->init() for platform-specific setup. The struct also reserves an exit callback; wiring for that follows in subsequent patch in this series. Signed-off-by: Radhey Shyam Pandey --- drivers/usb/dwc3/dwc3-xilinx.c | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/drivers/usb/dwc3/dwc3-xilinx.c b/drivers/usb/dwc3/dwc3-xilinx.c index 1a8619854d6d..4a04d158f872 100644 --- a/drivers/usb/dwc3/dwc3-xilinx.c +++ b/drivers/usb/dwc3/dwc3-xilinx.c @@ -42,12 +42,19 @@ #define XLNX_USB_FPD_POWER_PRSNT 0x80 #define FPD_POWER_PRSNT_OPTION BIT(0) =20 +struct dwc3_xlnx; + +struct dwc3_xlnx_platdata { + int (*init)(struct dwc3_xlnx *priv_data); + void (*exit)(struct dwc3_xlnx *priv_data); +}; + struct dwc3_xlnx { int num_clocks; struct clk_bulk_data *clks; struct device *dev; void __iomem *regs; - int (*pltfm_init)(struct dwc3_xlnx *data); + const struct dwc3_xlnx_platdata *plat; struct phy *usb3_phy; }; =20 @@ -237,14 +244,22 @@ static int dwc3_xlnx_init_zynqmp(struct dwc3_xlnx *pr= iv_data) return ret; } =20 +static const struct dwc3_xlnx_platdata zynqmp_platdata =3D { + .init =3D dwc3_xlnx_init_zynqmp, +}; + +static const struct dwc3_xlnx_platdata versal_platdata =3D { + .init =3D dwc3_xlnx_init_versal, +}; + static const struct of_device_id dwc3_xlnx_of_match[] =3D { { .compatible =3D "xlnx,zynqmp-dwc3", - .data =3D &dwc3_xlnx_init_zynqmp, + .data =3D &zynqmp_platdata, }, { .compatible =3D "xlnx,versal-dwc3", - .data =3D &dwc3_xlnx_init_versal, + .data =3D &versal_platdata, }, { /* Sentinel */ } }; @@ -291,8 +306,11 @@ static int dwc3_xlnx_probe(struct platform_device *pde= v) if (IS_ERR(regs)) return dev_err_probe(dev, PTR_ERR(regs), "failed to map registers\n"); =20 - priv_data->pltfm_init =3D device_get_match_data(dev); - if (!priv_data->pltfm_init) + priv_data->plat =3D device_get_match_data(dev); + if (!priv_data->plat) + return dev_err_probe(dev, -ENODEV, "missing platform match data\n"); + + if (!priv_data->plat->init) return dev_err_probe(dev, -ENODEV, "missing platform init handler\n"); =20 @@ -311,7 +329,7 @@ static int dwc3_xlnx_probe(struct platform_device *pdev) if (ret) return ret; =20 - ret =3D priv_data->pltfm_init(priv_data); + ret =3D priv_data->plat->init(priv_data); if (ret) goto err_clk_put; =20 --=20 2.43.0 From nobody Tue Sep 29 08:26:40 2026 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010046.outbound.protection.outlook.com [52.101.85.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A49EC40B373; Mon, 10 Aug 2026 17:48:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.85.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786384084; cv=fail; b=iqWxlh0DSSW/G6PoS7nyHEaot5rCkYmFYjMJPBuqjcQqXiG89syPY3LJCbVmrXq+jGr+NjPkOdvlqD1mex4nbmk5DUSvZyUZ/S12bumbkAz5rPcumlKr7Ei+LICFGpC8Cg8ItfP86MGopixusq54H2CnLKOgWB8n+tt7DTO7uXo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786384084; c=relaxed/simple; bh=KdyDJasczCFaulzxkVf5//DWhi0C0Mx/QguvnQDIr+A=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=WqMkoXWMNzgyExHfrUXsXBzBMKaZRsBNBO4rSAborfR90sTrPE2x8WoMK9N/ZmLm9A7GmRZej0PPzpJxWzIIwkJkoMynk06qgUkQ+ld176173WW5WquezPVs0vpEvnQCLwItNinZFK0CgMzLzUjtZeWMK0tOwcdOfYUunONv2RE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=tgQBKFEk; arc=fail smtp.client-ip=52.101.85.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="tgQBKFEk" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cPjKV7QjUsfiLtsp1GrKbdllg0T2qk83PO6g931xggIbYPVY7fK4pZeTsLqs65oXoIy5fkdtjMoMj+JBfXW8n584Owa3TgqwyLI1LZTxMdhur6EQXzbv2z/fjzFUl2VtEU3NdS3dqd2UVsiLV3vVyTeX+K1mzlgfQ947G/Zb8mf1ZFWxgSb7XlPx32a8RvYjl5mQyYaW3o9ySUAih5vxuyFwn4fTwaCXj+PUOXYNNqixlYS6BVoO2JEsm3EjXodtS3Af1Eno2+BndCoGwHv2tostqKK6uTVi9lMxLXsH8ow4NgH/kbm4P3EPWk4uvvDri81QE2v+zWemH+uZkPV+IQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=1vsqQGQwSXZOQRlDJgMhiN0zTxvcbuYLnr18qx7LHKw=; b=VdveD57mdloTBmoWNkA769iNAghkLTfatcUjrSonoC8ETlIFvYv4bbaY7BQo8NqHvr32uQz4FOmRSc76OZ7kI+3eRGUT844MDGsy699Wa8gbGBQfxzYZdIzg4hRBuoU++xFAmhKYiJj0dT+wVbuasgPjHLN8qOAR1eHG/LR4KAqybG4PVnwsPNOG8jU1DplT7cCdBL910iHHFxCZO8+BTVLnPU7ObPX2XIq/WITC8bXrbocvG7p/VyekzEqxCOEHnjjGRx0I769cvAIj2uQSPw/1J4IyFoqEbxHxj4V1kAF/7TXLIItNzf2GQaX1LrE7VXnyrHNKW9qYfcamyGpevg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=synopsys.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1vsqQGQwSXZOQRlDJgMhiN0zTxvcbuYLnr18qx7LHKw=; b=tgQBKFEk5zmoKFSVx2e5lxQwb1+9BzfzN2dPgdE1V4krmBqKNnpKqVdTHjgHMsYzWfROysCQrfQlIohcg+3wskCLxnAE0zF2Fcznb3jrCMTNK8WQWMq2OtWb+CvvKniLtFiT5G15fJmHcr4e67LxcXLpmpmtv+5WScdwFi91BTE= Received: from MW4PR03CA0228.namprd03.prod.outlook.com (2603:10b6:303:b9::23) by DM4PR12MB8560.namprd12.prod.outlook.com (2603:10b6:8:189::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Mon, 10 Aug 2026 17:47:57 +0000 Received: from CO1PEPF00012E82.namprd03.prod.outlook.com (2603:10b6:303:b9:cafe::96) by MW4PR03CA0228.outlook.office365.com (2603:10b6:303:b9::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.25 via Frontend Transport; Mon, 10 Aug 2026 17:47:57 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by CO1PEPF00012E82.mail.protection.outlook.com (10.167.249.57) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Mon, 10 Aug 2026 17:47:57 +0000 Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 12:47:56 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb09.amd.com (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 12:47:55 -0500 Received: from xhdradheys41.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.45 via Frontend Transport; Mon, 10 Aug 2026 12:47:53 -0500 From: Radhey Shyam Pandey To: , , , CC: , , , , Radhey Shyam Pandey Subject: [PATCH 3/5] usb: dwc3: xilinx: fix system suspend and resume PHY handling Date: Mon, 10 Aug 2026 23:17:11 +0530 Message-ID: <20260810174713.2325292-4-radhey.shyam.pandey@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260810174713.2325292-1-radhey.shyam.pandey@amd.com> References: <20260810174713.2325292-1-radhey.shyam.pandey@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF00012E82:EE_|DM4PR12MB8560:EE_ X-MS-Office365-Filtering-Correlation-Id: 675ca1a4-37b1-4a5f-7acb-08def707834c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|23010399003|36860700016|1800799024|376014|11063799006|56012099006|10067099003|6133799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: 5khULMpBQJ7PgIcGvbrjRPFhmUz+8cQTnE2CmYJwxcO+es3S5T4Rw7paClCXMy9zC5Wrr+HFN+rGU5tzi5PEWx4uFx6pWJDKSuDbIAqGD6rLQ/Ot3hKCxt8C2SgrfR6uhfTHq/FSlp2Mf7KZbEAaeZl+hj2s6HCxMUMkjTNk8AUyKu1dc7W2+LaNMTPpaAeAMtwbOuOLRLmz3Xb3p76J5cjRXhcrNB2AW/A/32bHRLVPoGn0Pjt1HWnrMhrnHD8R9UNua8RadaahbCxNoqIKsVyvjvMhdVl5apdXX0hb7nER6xzYebdqTYNV9qU+ZGdmF0izlYj8K1Nsa3wmMYfsfseVINfZKnjsrBJjdS1O+Nnyu2OSfJS3lRe50DPtkPYrTfJmePR/sjgPnuWS8gWEE/I8rouHcw2dYDvLI4CaF2oqrecL2GGbkxgaiq2iSqwVsREjPhgveBywF9tZLRPQHcLhKkEVs0rbN5H1gMYAORE7WWB+hzs4HzpuwwCEE0e5VIxnWFZSYMBJDBxHBD2oM+7MhN0wOAt0UnQkYXKw2VZMxHBxahBLOW20RaS5yF1T5L9gQHR9Bs4oBv4/egT1f81gBKj0+BccDvoc/WagTOTTuajXz3c6h9RChZo5mpBa6k5Bw7evNlpWQrGBx4Frz2QZHHCjnD8og50HdFigu3O+NhIx9w5EFvjiDvYTsMegXpUpIekwM8JkJ6A7uVJpAg== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(23010399003)(36860700016)(1800799024)(376014)(11063799006)(56012099006)(10067099003)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: E5gEHE0uHdFnxea8ekUkSJJnK3ks0+uwS33cYKpTcXaxAUm20W8mT5xr6VOAbnUGNlHEhkfmWcZ3mgIRGJEOyaO+DZC3Bkpwo0BAJmTx74j9UVmLTrWX5gj2WUgfVxuguLOkI5q8mkrqbSDi4t5TuEmoW3MjOV+KTw4yRoRNFDT8Y0Y3ZcBc7NFpSzk7RQk1cJh4rcNljf5urXB/pevEdXYYo+1OhTh4jtqRuuPFeH0Id6IZNWHFkkdLTKuENJB2gKavGeEwMdtsGukpLuPLMi75Z9NPMwDPtWvd8PuuLjbjr9WoCHpH3HQnQfe4OiWtRHmy9NUCbWGaoQWN/EBUeR6eBaHqRQd0UHWRG57j98mMbWTwOJ8tCi+U7bGDIVxVrCpWqzEeykqEMd9w2LndY8YHYjT+HtmHaSwpC+uJuBv+AncF9SjBlER8EPp4H1A6 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2026 17:47:57.1512 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 675ca1a4-37b1-4a5f-7acb-08def707834c X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF00012E82.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8560 Content-Type: text/plain; charset="utf-8" System suspend and resume error paths do not handle PHY and clock resources correctly. Suspend calls phy_exit() without first powering off the PHY and ignores failures, while resume can leave clocks enabled if PHY reinitialization fails. Propagate errors to the PM core and unwind resources to ensure a consistent state on suspend and resume failures. Fixes: d6edcdc1ef06 ("usb: dwc3: xilinx: fix usb3 non-wakeup source resume = failure") Signed-off-by: Radhey Shyam Pandey --- drivers/usb/dwc3/dwc3-xilinx.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/drivers/usb/dwc3/dwc3-xilinx.c b/drivers/usb/dwc3/dwc3-xilinx.c index 4a04d158f872..894f5f5e8b7a 100644 --- a/drivers/usb/dwc3/dwc3-xilinx.c +++ b/drivers/usb/dwc3/dwc3-xilinx.c @@ -403,13 +403,25 @@ static int __maybe_unused dwc3_xlnx_runtime_idle(stru= ct device *dev) static int __maybe_unused dwc3_xlnx_suspend(struct device *dev) { struct dwc3_xlnx *priv_data =3D dev_get_drvdata(dev); + int ret; =20 - phy_exit(priv_data->usb3_phy); + ret =3D phy_power_off(priv_data->usb3_phy); + if (ret < 0) + return ret; + + ret =3D phy_exit(priv_data->usb3_phy); + if (ret < 0) + goto err_phy_power_on; =20 /* Disable the clocks */ clk_bulk_disable(priv_data->num_clocks, priv_data->clks); =20 return 0; + +err_phy_power_on: + phy_power_on(priv_data->usb3_phy); + + return ret; } =20 static int __maybe_unused dwc3_xlnx_resume(struct device *dev) @@ -423,15 +435,20 @@ static int __maybe_unused dwc3_xlnx_resume(struct dev= ice *dev) =20 ret =3D phy_init(priv_data->usb3_phy); if (ret < 0) - return ret; + goto err_clk_disable; =20 ret =3D phy_power_on(priv_data->usb3_phy); if (ret < 0) { phy_exit(priv_data->usb3_phy); - return ret; + goto err_clk_disable; } =20 return 0; + +err_clk_disable: + clk_bulk_disable(priv_data->num_clocks, priv_data->clks); + + return ret; } =20 static const struct dev_pm_ops dwc3_xlnx_dev_pm_ops =3D { --=20 2.43.0 From nobody Tue Sep 29 08:26:40 2026 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011021.outbound.protection.outlook.com [52.101.57.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 27747434E39; Mon, 10 Aug 2026 17:48:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.21 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786384087; cv=fail; b=Z0PSpYDoY8AHx8wePEa37NwyTiwMBDB2LQ1VZJ6Kft13FBmDetkoB5xQbxv6lpV5Z87zFisX8YZ5pqzl+XFgkcwQXopyV2mc3ux6ef4Xf9/FVjPij6IGadpr6CBsss4dgGvkhtJAOSgbLWDmB+I3CI1Mg3VyusboL1xyCFvzIq0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786384087; c=relaxed/simple; bh=Jxah6QFCGDtaljH1Vt4Zk4i0AyeEnX2QUs9UK2LAcmg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=eNV4mX0UzMmgUfWsPYI/7bxWzuCZzL9OnBOJnd05cBbWxmGDjnL/NJfEb13UnxsHj4FXw5sT2twxxkxaHNqz0vzWD9I7vjBU8Fflj03sEMahWU7kqWk2/gZ4oU+VS4Ndd46BqUwo2B7boERRGS2Prmpry53wBinX1OrWd/fRurc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=SNIRX3gA; arc=fail smtp.client-ip=52.101.57.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="SNIRX3gA" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RSwvlH4ImBHgDzolp2dF6eeqoLAhNgUoJi3lnR/BPJTF/o31ahjhlsSKE6mL03RlgibC1N4o4neWMgOyKx4LOuI7fTPVEgzVdXoNvT8hF1gXF5FATh+puHL7ece3z+T54j78fiGYmxvA2Pd8rfTWkBgvAtR9DCa7OuqYMCL+tbk9T4pbJakwqDdYtD7UmdTWDyfpEAJWUqvI7HjAB7wUDIGphfN1vL/woBG8xZTpj/MTscHhR1Tj64Mj32iffRJBnpDgwscG+d4e6fTc9YZ7l3/TvtHyKSvHTCLNiYg8wfX+9N1rf/drL20U7waSnTrYn56TygR73zK8Xfaiu/alxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=KJHBxuvXyX/Ou+ZCPLPoJAhWUmuoxbSOhKjv5XUkImE=; b=cCT26ryxHFaUYo+mOfU9BNxn3rpK4MdtSr6X9O9RryixF1vsEWk8nrVquw6g6x+2OermsniiJfxbGZPKMyIC0THyIggLcAZZ2kOf50BGhWzZZCduw3oy4fzCP2NrWkaozKK1oWipBIBTE7wnf0C+vOYGTPUTfhjgOtimHj34/du9TdL1zA9ljUTzaBadyqA8G4cNdmibO8gS7tORSwYj7zX3cqOUNCS9+ExOk037BFTobJ8jEvsLLx9s0uOZEfmt66Azj7iHyV34XTAVzahWb3Gb/+pn/YiUTTbgUeGyu9SeSbaNeVplvHOub2v3VvujTJ5urZgg+/gJIANlN10PQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=synopsys.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KJHBxuvXyX/Ou+ZCPLPoJAhWUmuoxbSOhKjv5XUkImE=; b=SNIRX3gAlT0YPBK7U6ScOY4UfLo3kEI60IGGp2RGzyXPWeRFT0e5XhPEGL/02uj1X1RU2PV7IP+0KX/WNzsPUU8D2TxlYw5pExyhtNtPmUMyOa6eyh2Y8AFEdE61es3EPVOAXFrt2Vp7LzLNiLkp4/tFKbo+FYpeyWkSkzNadR0= Received: from CH0P223CA0006.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:116::24) by SN7PR12MB6983.namprd12.prod.outlook.com (2603:10b6:806:261::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Mon, 10 Aug 2026 17:47:59 +0000 Received: from CH2PEPF000000A0.namprd02.prod.outlook.com (2603:10b6:610:116:cafe::41) by CH0P223CA0006.outlook.office365.com (2603:10b6:610:116::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.25 via Frontend Transport; Mon, 10 Aug 2026 17:47:59 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C Received: from satlexmb08.amd.com (165.204.84.17) by CH2PEPF000000A0.mail.protection.outlook.com (10.167.244.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Mon, 10 Aug 2026 17:47:59 +0000 Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 12:47:59 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 12:47:58 -0500 Received: from xhdradheys41.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.45 via Frontend Transport; Mon, 10 Aug 2026 12:47:56 -0500 From: Radhey Shyam Pandey To: , , , CC: , , , , Radhey Shyam Pandey Subject: [PATCH 4/5] usb: dwc3: xilinx: re-assert resets on ZynqMP init error paths Date: Mon, 10 Aug 2026 23:17:12 +0530 Message-ID: <20260810174713.2325292-5-radhey.shyam.pandey@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260810174713.2325292-1-radhey.shyam.pandey@amd.com> References: <20260810174713.2325292-1-radhey.shyam.pandey@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF000000A0:EE_|SN7PR12MB6983:EE_ X-MS-Office365-Filtering-Correlation-Id: 36f2f27d-2dd7-487d-1688-08def70784c5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|82310400026|36860700016|11063799006|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 1NtcVcNiR/lL0JfwiLS6EbmG6TjEMl5AYZPWTJgOvHh28Us+ZHvdrTvacSVTX0b8Cg3gv6UqkzGp/Ar6C44/aitpU1w4DMsli2jHj54/FKltHK2+xu8rU3zRkuzKLmpQWyKlGi2IYbkD4Kckv/rSFO7GwhnujkH2aWuTtpc5AYDpga4V6cCb7SXGGI5lS/AdTkoIUuH6DpEKc2Rc0YxXS/XPziAHVYPLN+V/AnkxyTomO1gCdwiJoY5nOqguOofe3d055IG4/wg7vkCk0NBsEk8aYWLdKUPOcf8KTC2pEA6cWJocjqr0x3WmfUTwNbXvYZz98HbbXPdmcNCwHIHUI0mMXR4SpbSXdFGK6jKh69Zy7+7ViLb2voqcRF+T9SsZUcpC5gqHIyB+f9aBnBbMGwC9Nx8x3qnCQysKfO3grp2l2UJP7C/0rY+lrChWCww0C2/Flz5NmjFFI/e33dEDL65hXs+9fHVnFPaWCWwrSdiby8lprmZNCmm23WmB0HYOYFPg8gRhQCPDMqloaSaqY9aXj+FgRGLw5hyIa8uAgWeCYFdv4y1kizYEIooi5KWSGOdmaGL+jMHrPLt6hNnwlQflB59tGeCFYxdCBJm1dY2MAGG3q1kK2f7G8Ogmf4f1NPofNdA8/jDTzLkQ59C76aVTwKaCcA2kro10fQjvlueEpW4dGczi890qegNFUt52ntNnCcNsVqTToy2wbqRTOg== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(82310400026)(36860700016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XfmITssEu+KqdyKNtUkqJDxIkDpt3ShJnEm12BJNYnqBA8K6hgwyx/mF1lzLLdQP1KNxzbNjwJIX1nYw/2DQFa+z98szr0+L14x7Q8/Ka/9TbKUBdBXWls9WpohehHWfeNi5t4oOvOc6xn/HpQ6WkLszVuIAEhN0wdUFppvZIEzHMNofXGTlw4zAcwV4I+rPvNqVSaDbL8nOzK0QH7krR9D7lt37YS8EmoUTpO0Brn36qf94umljOPlXmGt0aPnzNdRT0QbaN+sGEza5TAiOr7Ocwalzj/PkAPhetirJDGr4+TXporHLIeeGgtgG6iBkimnToowH0TX37wyXD1GTezE+AooIZLAaxMTxzo16Mk6HwQRPvWB/JDe1lBQysDBFG5mipbVOokwFg3nAHAx/pnM83ct77q7Jnz6nI5gIzdpmXU9gCAeqCRT3jvAH0i73 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2026 17:47:59.6925 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 36f2f27d-2dd7-487d-1688-08def70784c5 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF000000A0.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6983 Content-Type: text/plain; charset="utf-8" If reset deassert or PHY setup fails partway through dwc3_xlnx_init_zynqmp(), re-assert any resets that were already released before unwinding the PHY. Use fall-through error labels so unwind matches how far init progressed, for both USB2 and USB3 paths. Save the ZynqMP reset handles in driver private data so later probe teardown can re-assert released resets. Fixes: 84770f028fab ("usb: dwc3: Add driver for Xilinx platforms") Signed-off-by: Radhey Shyam Pandey --- drivers/usb/dwc3/dwc3-xilinx.c | 49 +++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/drivers/usb/dwc3/dwc3-xilinx.c b/drivers/usb/dwc3/dwc3-xilinx.c index 894f5f5e8b7a..38613553937e 100644 --- a/drivers/usb/dwc3/dwc3-xilinx.c +++ b/drivers/usb/dwc3/dwc3-xilinx.c @@ -56,6 +56,10 @@ struct dwc3_xlnx { void __iomem *regs; const struct dwc3_xlnx_platdata *plat; struct phy *usb3_phy; + struct reset_control *usb_crst; + struct reset_control *usb_hibrst; + struct reset_control *usb_apbrst; + bool usb_resets_released; }; =20 static void dwc3_xlnx_mask_phy_rst(struct dwc3_xlnx *priv_data, bool mask) @@ -120,7 +124,6 @@ static int dwc3_xlnx_init_versal(struct dwc3_xlnx *priv= _data) static int dwc3_xlnx_init_zynqmp(struct dwc3_xlnx *priv_data) { struct device *dev =3D priv_data->dev; - struct reset_control *crst, *hibrst, *apbrst; struct gpio_desc *reset_gpio; int ret =3D 0; =20 @@ -132,25 +135,25 @@ static int dwc3_xlnx_init_zynqmp(struct dwc3_xlnx *pr= iv_data) goto err; } =20 - crst =3D devm_reset_control_get_exclusive(dev, "usb_crst"); - if (IS_ERR(crst)) { - ret =3D PTR_ERR(crst); + priv_data->usb_crst =3D devm_reset_control_get_exclusive(dev, "usb_crst"); + if (IS_ERR(priv_data->usb_crst)) { + ret =3D PTR_ERR(priv_data->usb_crst); dev_err_probe(dev, ret, "failed to get core reset signal\n"); goto err; } =20 - hibrst =3D devm_reset_control_get_exclusive(dev, "usb_hibrst"); - if (IS_ERR(hibrst)) { - ret =3D PTR_ERR(hibrst); + priv_data->usb_hibrst =3D devm_reset_control_get_exclusive(dev, "usb_hibr= st"); + if (IS_ERR(priv_data->usb_hibrst)) { + ret =3D PTR_ERR(priv_data->usb_hibrst); dev_err_probe(dev, ret, "failed to get hibernation reset signal\n"); goto err; } =20 - apbrst =3D devm_reset_control_get_exclusive(dev, "usb_apbrst"); - if (IS_ERR(apbrst)) { - ret =3D PTR_ERR(apbrst); + priv_data->usb_apbrst =3D devm_reset_control_get_exclusive(dev, "usb_apbr= st"); + if (IS_ERR(priv_data->usb_apbrst)) { + ret =3D PTR_ERR(priv_data->usb_apbrst); dev_err_probe(dev, ret, "failed to get APB reset signal\n"); goto err; @@ -164,19 +167,19 @@ static int dwc3_xlnx_init_zynqmp(struct dwc3_xlnx *pr= iv_data) * absent. */ if (priv_data->usb3_phy) { - ret =3D reset_control_assert(crst); + ret =3D reset_control_assert(priv_data->usb_crst); if (ret < 0) { dev_err(dev, "Failed to assert core reset\n"); goto err; } =20 - ret =3D reset_control_assert(hibrst); + ret =3D reset_control_assert(priv_data->usb_hibrst); if (ret < 0) { dev_err(dev, "Failed to assert hibernation reset\n"); goto err; } =20 - ret =3D reset_control_assert(apbrst); + ret =3D reset_control_assert(priv_data->usb_apbrst); if (ret < 0) { dev_err(dev, "Failed to assert APB reset\n"); goto err; @@ -187,7 +190,7 @@ static int dwc3_xlnx_init_zynqmp(struct dwc3_xlnx *priv= _data) if (ret < 0) goto err; =20 - ret =3D reset_control_deassert(apbrst); + ret =3D reset_control_deassert(priv_data->usb_apbrst); if (ret < 0) { dev_err(dev, "Failed to release APB reset\n"); goto err_phy_exit; @@ -203,21 +206,21 @@ static int dwc3_xlnx_init_zynqmp(struct dwc3_xlnx *pr= iv_data) writel(PIPE_CLK_DESELECT, priv_data->regs + XLNX_USB_FPD_PIPE_CLK); } =20 - ret =3D reset_control_deassert(crst); + ret =3D reset_control_deassert(priv_data->usb_crst); if (ret < 0) { dev_err(dev, "Failed to release core reset\n"); - goto err_phy_exit; + goto err_apbrst_assert; } =20 - ret =3D reset_control_deassert(hibrst); + ret =3D reset_control_deassert(priv_data->usb_hibrst); if (ret < 0) { dev_err(dev, "Failed to release hibernation reset\n"); - goto err_phy_exit; + goto err_crst_assert; } =20 ret =3D phy_power_on(priv_data->usb3_phy); if (ret < 0) - goto err_phy_exit; + goto err_hibrst_assert; =20 /* ulpi reset via gpio-modepin or gpio-framework driver */ reset_gpio =3D devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH); @@ -234,10 +237,18 @@ static int dwc3_xlnx_init_zynqmp(struct dwc3_xlnx *pr= iv_data) =20 dwc3_xlnx_set_coherency(priv_data, XLNX_USB_TRAFFIC_ROUTE_CONFIG); =20 + priv_data->usb_resets_released =3D true; + return 0; =20 err_phy_power_off: phy_power_off(priv_data->usb3_phy); +err_hibrst_assert: + reset_control_assert(priv_data->usb_hibrst); +err_crst_assert: + reset_control_assert(priv_data->usb_crst); +err_apbrst_assert: + reset_control_assert(priv_data->usb_apbrst); err_phy_exit: phy_exit(priv_data->usb3_phy); err: --=20 2.43.0 From nobody Tue Sep 29 08:26:40 2026 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010026.outbound.protection.outlook.com [52.101.56.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3491B43231B; Mon, 10 Aug 2026 17:48:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.26 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786384093; cv=fail; b=Luxlk3X9MRkulR6Ihsiys5XBeqLENYAdQ1wtROmiFBz9qcqdf8bDE6fopjAHibg3vB/h6uq2e/uACr6fwztz+hVqUc6THnt4oqYRExKgix8l549aXzPJlJW2xP5Q+INDPXWrwTT2PuNRG3n+zOmNWJ0z0NH/GeSXFrqTIvNhGQU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786384093; c=relaxed/simple; bh=XoOJkhLOKh1b1+LPqCquT4kl4P49sN5GapCROaTW/Ds=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=n0cP1zDxXiW7w4U95V6Qs2bzM6+aqa4eoWVi4/Hz9fcsLcpwX8Jb0/KLkmBDAVydluXQ6WlOJnITxQR0C09bUQEI9j6+QOQcZ/o748aGdso7naZKzDlVzD5LaOorieElaNsQQiiSEqWa+9g8FuQbAMJWJ3njpQjrl9l8D0XOhEA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=IUK9yVBC; arc=fail smtp.client-ip=52.101.56.26 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="IUK9yVBC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wfUJmesOQKbl7zlm8OqaJoBBGaJ5h5gplQwZOPiK2aodb1pO56vP+5nMVn8BSVVmV5GqapEeyc8IXnOgE/yRFoSfokk/7PRfhkf2XGrV4dmwA7H2nYBhV9Rs5KOI2MajRx0rhFEOJgpMHEmsmIwzS2ZEUwjktpmBzfq1YHPFIkEmyTJxkJUJtuwOXuGAR/70PbJQ+2Ekc9D5r9gw+hvN1ne0/1eqyWbQHjnPAUFM5ngxJGXIlcARQElimNc75uZa+aI3H4PERbhf10QDiaHGmRJ7dRCsckVmGNiTW6EXEEgBWb8sC72MqiIfdclqrY/jhuJQHU8VYvPgFrWRBe1BtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=Xy+a/OeoTRaZmYUfNaW0nmPFcUyvrvxy0xwXKh681tU=; b=SHV7mBX5tjIRlb867OXfUwtDYGYSui47MH8KbZCyN1OyQC4dYP6VbqgvUe/SDfWaG56saarrxM9HqbNjx1+ZSfgO57KsXvu3sDbAlwVJjNR9ASfzriNVOZdXxQCV+zqwWaTRWWhyVgEMs9p6+QAQVvyjRfnp21uFuruZV1IkDZT0XeZCd/nZUvvaR9OSqPd5f482kBFysRP/I2S04aJI2GJfk13POeEsa1Ab5CS+Eq9CS5/FSyytMqQbsq/w73gUARHbjWoKlBrGHQ3am2Hsdriq4vrshK+U1t/9X5dWez4+ZXNt5Y0kAo9nkxttT/McsaCsPgi67WtZ1UWji7LDaw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=synopsys.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Xy+a/OeoTRaZmYUfNaW0nmPFcUyvrvxy0xwXKh681tU=; b=IUK9yVBCygVCLipBdrjd4XrdbXD8uDqzqNKvz9Wl8+xNiRO8G5BK6PVCRzuFRc3I1jyGjtsdmxFRozgq8QfP6Nr0+2eRMOZXTR3BzNKvjqYB022pM2mjS2Cn639cTjQlgIHFJql1ysYwcZjsFpEmC1jUtZCw3icKN7ydjaNjxk4= Received: from MW4PR04CA0369.namprd04.prod.outlook.com (2603:10b6:303:81::14) by MN2PR12MB4488.namprd12.prod.outlook.com (2603:10b6:208:24e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Mon, 10 Aug 2026 17:48:05 +0000 Received: from CO1PEPF00012E81.namprd03.prod.outlook.com (2603:10b6:303:81:cafe::3e) by MW4PR04CA0369.outlook.office365.com (2603:10b6:303:81::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.25 via Frontend Transport; Mon, 10 Aug 2026 17:48:05 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by CO1PEPF00012E81.mail.protection.outlook.com (10.167.249.56) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Mon, 10 Aug 2026 17:48:04 +0000 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 12:48:01 -0500 Received: from xhdradheys41.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.45 via Frontend Transport; Mon, 10 Aug 2026 12:47:58 -0500 From: Radhey Shyam Pandey To: , , , CC: , , , , Radhey Shyam Pandey Subject: [PATCH 5/5] usb: dwc3: xilinx: unwind ZynqMP platform init on probe failure and remove Date: Mon, 10 Aug 2026 23:17:13 +0530 Message-ID: <20260810174713.2325292-6-radhey.shyam.pandey@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260810174713.2325292-1-radhey.shyam.pandey@amd.com> References: <20260810174713.2325292-1-radhey.shyam.pandey@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF00012E81:EE_|MN2PR12MB4488:EE_ X-MS-Office365-Filtering-Correlation-Id: 2917e050-9b85-447b-47d9-08def70787e8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|1800799024|23010399003|82310400026|376014|10067099003|11063799006|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: kvxfngbMbFuUHKRJwDwo+iO1vncIURnhWGkN/hx47MKKGXvCtO/cszVsIGPw8tgKoEezEh9y8fShxVjLQT3El0hd1KPO1iaFxxtKK7gQLHjhORP/QPbk6lyh4PZneUqwP2Coof6kk3Ow3YxipXUajolB7Wyk1ZTaSLT726ssKYfsaiJjnui5TQMd0jNShkA0dM0gpbZHPp5lR8yGd4duEynrZPiDziHULIA1TtN3aPlQGeY+B0vnJ3aYkpB15cW3OzvWs/DlDusmNwc+9Y/mPDA+xj+sJGzAIYlIcHi6W8xFR3pw+cU472+WUftB1wXVCtoDASaKoHAQnwMDmhn6WoZgkLy3yDeFl48Yz0fvgpVVYSit/WUR2DsBuWmXV4j8mzl8N1hVZ+nxKeBSwQ9L2Ruz4hmRcIYxNQZV1H61Kgm79f+q+/sjHcn5oFpz00eOpnRhJsYUmRj9V4hFLLfAkHZ7YHxV5IvlrFL20Saqi2kLzA6tS9WtWb9sO5Io12yHk3wPfJ80qnhMWFZLj/Vob0mvBz3igEdqYBJnFwaefM7i8R1oVlH4ve4XHqc4EbNrTj5ujvBcEXWtFYqi9/ocL835iWCjjH6bMhwoJkkOMP3KKt1opMYCYFuJxuv23qUMTv2cP5xqKqbcJE294cq9DOvndNWA5CkG1/Djsfa9Pucww+8d4OmPhhbDckquoRMVSTNyhA3OsQ1W8vN7DL8zGw== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(1800799024)(23010399003)(82310400026)(376014)(10067099003)(11063799006)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KzSWiiuSK999RhtGdNrSXmlUKcocUJzy9+e1u2ZBFhxeDznnVwyvt1WQzt7QkNLrOEiZ0pylfrRDKe6Gx6ylAUozzjdA8yUR71bTKKwNQHNFEIsCBZrpQkvLbzaBq9JiPoQNrlIDEaAnLIypx3EqeIyXKTql2lBrecLuRDSUnOfvs+4969vL7l+xnUMPIcBQeqWFO5yrherwlmThzaVMR/njlfbX/XT8SuRLXZnKJnDes35OC3+/mIste7dW7dzlsMWYyt6JeZY54uwuASPfRnRnDz/mbXAT8Xv3e3s8Q9pcDRvruzoi0GRhrjD/EgNXPzW0iiiPajyJe84M6XIWxLi1cYfS9GnPPL2K7Tig81FVgzgIyvJ5NO1E9JhFqOPtpkTIHAoHeumEpvpWWpln32qQQeYYhOAyFCBgc2n9UWJQzR8QS1sfEUUNHDQROIOU X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2026 17:48:04.9066 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2917e050-9b85-447b-47d9-08def70787e8 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF00012E81.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4488 Content-Type: text/plain; charset="utf-8" Add dwc3_xlnx_exit_zynqmp() and wire it as the ZynqMP platform exit callback. If probe steps fail after a successful plat->init(), call plat->exit() to re-assert released resets and unwind the PHY before disabling clocks. Call the same callback from remove() and shutdown. Fixes: 84770f028fab ("usb: dwc3: Add driver for Xilinx platforms") Signed-off-by: Radhey Shyam Pandey --- drivers/usb/dwc3/dwc3-xilinx.c | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/drivers/usb/dwc3/dwc3-xilinx.c b/drivers/usb/dwc3/dwc3-xilinx.c index 38613553937e..0d2232741d46 100644 --- a/drivers/usb/dwc3/dwc3-xilinx.c +++ b/drivers/usb/dwc3/dwc3-xilinx.c @@ -121,6 +121,20 @@ static int dwc3_xlnx_init_versal(struct dwc3_xlnx *pri= v_data) return 0; } =20 +static void dwc3_xlnx_exit_zynqmp(struct dwc3_xlnx *priv_data) +{ + phy_power_off(priv_data->usb3_phy); + + if (priv_data->usb_resets_released) { + reset_control_assert(priv_data->usb_hibrst); + reset_control_assert(priv_data->usb_crst); + reset_control_assert(priv_data->usb_apbrst); + priv_data->usb_resets_released =3D false; + } + + phy_exit(priv_data->usb3_phy); +} + static int dwc3_xlnx_init_zynqmp(struct dwc3_xlnx *priv_data) { struct device *dev =3D priv_data->dev; @@ -257,6 +271,7 @@ static int dwc3_xlnx_init_zynqmp(struct dwc3_xlnx *priv= _data) =20 static const struct dwc3_xlnx_platdata zynqmp_platdata =3D { .init =3D dwc3_xlnx_init_zynqmp, + .exit =3D dwc3_xlnx_exit_zynqmp, }; =20 static const struct dwc3_xlnx_platdata versal_platdata =3D { @@ -346,11 +361,11 @@ static int dwc3_xlnx_probe(struct platform_device *pd= ev) =20 ret =3D dwc3_set_swnode(dev); if (ret) - goto err_clk_put; + goto err_pltfm_exit; =20 ret =3D of_platform_populate(np, NULL, NULL, dev); if (ret) - goto err_clk_put; + goto err_pltfm_exit; =20 pm_runtime_set_active(dev); ret =3D devm_pm_runtime_enable(dev); @@ -367,7 +382,9 @@ static int dwc3_xlnx_probe(struct platform_device *pdev) err_pm_set_suspended: of_platform_depopulate(dev); pm_runtime_set_suspended(dev); - +err_pltfm_exit: + if (priv_data->plat->exit) + priv_data->plat->exit(priv_data); err_clk_put: clk_bulk_disable_unprepare(priv_data->num_clocks, priv_data->clks); =20 @@ -381,6 +398,9 @@ static void dwc3_xlnx_remove(struct platform_device *pd= ev) =20 of_platform_depopulate(dev); =20 + if (priv_data->plat->exit) + priv_data->plat->exit(priv_data); + clk_bulk_disable_unprepare(priv_data->num_clocks, priv_data->clks); priv_data->num_clocks =3D 0; =20 --=20 2.43.0