Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2219041/?format=api
{ "id": 2219041, "url": "http://patchwork.ozlabs.org/api/patches/2219041/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260402101007.208419-2-sherry.sun@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": "<20260402101007.208419-2-sherry.sun@nxp.com>", "list_archive_url": null, "date": "2026-04-02T10:10:00", "name": "[V2,1/8] PCI: imx6: Integrate new pwrctrl API for pci-imx6", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "02d603431bca514c59bb30030886da3b19c93ed0", "submitter": { "id": 77063, "url": "http://patchwork.ozlabs.org/api/people/77063/?format=api", "name": "Sherry Sun", "email": "sherry.sun@nxp.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260402101007.208419-2-sherry.sun@nxp.com/mbox/", "series": [ { "id": 498465, "url": "http://patchwork.ozlabs.org/api/series/498465/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=498465", "date": "2026-04-02T10:10:03", "name": "PCI: imx6: Integrate pwrctrl API and update device trees", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/498465/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2219041/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2219041/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-pci+bounces-51731-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=EiukpR40;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-pci+bounces-51731-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=\"EiukpR40\"", "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=40.107.159.28", "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 sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fmdF12rfmz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 02 Apr 2026 21:21:41 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id E5586304BD30\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 2 Apr 2026 10:09:27 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id D3D6839658D;\n\tThu, 2 Apr 2026 10:09:26 +0000 (UTC)", "from OSPPR02CU001.outbound.protection.outlook.com\n (mail-norwayeastazon11013028.outbound.protection.outlook.com [40.107.159.28])\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 68A933C873C;\n\tThu, 2 Apr 2026 10:09:25 +0000 (UTC)", "from VI0PR04MB12114.eurprd04.prod.outlook.com\n (2603:10a6:800:315::13) by AS8PR04MB8706.eurprd04.prod.outlook.com\n (2603:10a6:20b:429::12) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17; Thu, 2 Apr\n 2026 10:09:22 +0000", "from VI0PR04MB12114.eurprd04.prod.outlook.com\n ([fe80::feda:fd0e:147f:f994]) by VI0PR04MB12114.eurprd04.prod.outlook.com\n ([fe80::feda:fd0e:147f:f994%6]) with mapi id 15.20.9769.018; Thu, 2 Apr 2026\n 10:09:22 +0000" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775124566; cv=fail;\n b=LmYykzFZCwfoFHfXZAmyGbXmS7nrsSbR8H94/WjEhydyXMw7oaTA+8XlGSBwv+AitjCYJJQMFlc5pn6ndGIhPQAhzMBMBooZPoeCwOqKBntxK/KbHHbL8DleGoL3gH2HEnC43B3Bea93S0iaqjFQMzMrBxRdR2EfvEXf7tr3eDA=", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=MLMoFzw5DSdEfxfFk5Ah01in4FzvrNqmC6v1n8vZVPXwVvmp7bMNhxVzUTo/77C31boX2n1ZtbTHwpxjv23/rhMfRJQHehu14LUKamQqbbYvf78u/w5NdyjUpCvXY/0exM+I+ZrupqlKR02vivdUcO8ItmkldVAsiIXub/H4C4sbnmJywJ5b5STchKGExWAg8f2rpEvPf7ZKTAyalG0HA5o6ErtnjPV6HiGeHnDpqDSnbReI+V9G3dgmjoxh+i/650sK+6jQJzewcJXAJoT7TbGFzbUIsrJri2UXFIozm+jNsYNgkRUSvMPFINS+UhWzdEjxwhLWubKyzNz8p70gtQ==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775124566; c=relaxed/simple;\n\tbh=12SfMtedroPJJFyLBNXjVLomRzKoBA6UgTa4iPslaAw=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=AWsdfqFNeEdX8u/rSG8MclybjWt3n/xj61Vp701csLtzHWEgmFFSXT3Zy1qL2D4YLsYn8N2kxiSU5ysLcwwT8WuIGH0cVAMs33RM8elPOhQ3FMOuQOL4wA5+CLkHmayOlqn8rZsgCvxTpf3uEmx0fl7bQq2OC9rGrKCKysYczLI=", "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=TOoKKWH4IHPn0BIkcfoeyVjzWEaC/vHdikI5Zp7tJa4=;\n b=GqnNpY8QF0DPWdJVgGcEOqpzWFiz76u0IpDdtX9fGtwAFS+QlpnmSjGjH8i8IQoY70FTQDUrxl8DMu3y7Y8KfchnvBNED3jAREqISTa2OwMhS/OE4v1BB5gpJyfIpcJmqP8F7NHPovVbXMcCqOTozhhOCkR0QSnk4uH2bGQEWUOTGY7GfOH2lYh1ewev6spreyXpNyjhrHUq4Je70JnOGA0rk0zPLRqQ0yg+RaV10f9wYUYKdvRRYrepukH9taynWC3WUOPSyB3/qkR3qWKo62EUHaGHULA6YL7Rbce5oVXYSj07MzuxPHCdanG+XrcuZPra1h+JhEYvGqsaKTUGUg==" ], "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=EiukpR40; arc=fail smtp.client-ip=40.107.159.28", "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=TOoKKWH4IHPn0BIkcfoeyVjzWEaC/vHdikI5Zp7tJa4=;\n b=EiukpR40YM7LC/pppS5366aXfnEjis2E6nHP1EPCzM5Rc9xI5CMDH+NwTaEQxbjIzVt4c59mazml7cf5WjIQnCexllgZGLeD13OkYRY6nqBFDYZKqf8t76yfxm4/l89Qx1ZnQGcX0+02OVC4zXsRaDmphhB3OUHMqP5STfrU3kQVWnXs57ueYnH4TtViQx30G55krcnWoHs7aOIUthqruhG6vFJJniau3jRji7O0GDVt2RDZemVvVPlefOMMOGCs3WXu5/apRINMP3JYaO52XwnMcqzQi0a34ZsoULaeQAxg4toQxdpKYX7dRqGjICmzvuOOccqVSq95beKHb6zHwA==", "From": "Sherry Sun <sherry.sun@nxp.com>", "To": "robh@kernel.org,\n\tkrzk+dt@kernel.org,\n\tconor+dt@kernel.org,\n\tFrank.Li@nxp.com,\n\ts.hauer@pengutronix.de,\n\tkernel@pengutronix.de,\n\tfestevam@gmail.com,\n\tlpieralisi@kernel.org,\n\tkwilczynski@kernel.org,\n\tmani@kernel.org,\n\tbhelgaas@google.com,\n\thongxing.zhu@nxp.com,\n\tl.stach@pengutronix.de", "Cc": "imx@lists.linux.dev,\n\tlinux-pci@vger.kernel.org,\n\tlinux-arm-kernel@lists.infradead.org,\n\tdevicetree@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org", "Subject": "[PATCH V2 1/8] PCI: imx6: Integrate new pwrctrl API for pci-imx6", "Date": "Thu, 2 Apr 2026 18:10:00 +0800", "Message-Id": "<20260402101007.208419-2-sherry.sun@nxp.com>", "X-Mailer": "git-send-email 2.37.1", "In-Reply-To": "<20260402101007.208419-1-sherry.sun@nxp.com>", "References": "<20260402101007.208419-1-sherry.sun@nxp.com>", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "SG2PR01CA0114.apcprd01.prod.exchangelabs.com\n (2603:1096:4:40::18) To VI0PR04MB12114.eurprd04.prod.outlook.com\n (2603:10a6:800:315::13)", "Precedence": "bulk", "X-Mailing-List": "linux-pci@vger.kernel.org", "List-Id": "<linux-pci.vger.kernel.org>", "List-Subscribe": "<mailto:linux-pci+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-pci+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "VI0PR04MB12114:EE_|AS8PR04MB8706:EE_", "X-MS-Office365-Filtering-Correlation-Id": "207968f6-c524-4406-e3ec-08de909fe95e", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|7416014|52116014|376014|366016|1800799024|19092799006|38350700014|22082099003|921020|18002099003|56012099003;", "X-Microsoft-Antispam-Message-Info": "\n\tfG8yP0ttSqzZ7oSo72MWQUYymhlRdzIBNik1rLC6hSk5XK0Eq9Xw26ZmtJiPAjoXaUmw8ECXTcs9m0TzvLct06bcwrIeK7z6tejhR06F5xIdaiPgwQqG6NFVja9IBNCQWVQ1gYLrVxU8JMJwTBYmFosIKj6ZRCGoAwZHDBBZIjfeldHgHDZ+tCIA8KKOwVLk7BJaQZldQxnhW2hbJ4/pVbF6Jmr4OB6mzJoNQ0V7S3pYj2CdZbsu4EhmeAjcaYndvKOuq5MncrLa0CcwIJz37jEZ90InIFAWg0oibkxSbt0eYUOa7WucNs5kn51ErLyBzELNad1l422L7B1ESTs8AY64d81DOoVBuIPr1MpENh5ygn9vZ/xjV485JE50Q4WJbMWq9NEh2IzRKkDUk+DkEyE6Ay13IEX0AotckJfa/vv6SqltVcjgUPEKRARWpvwtkj2w5eSFs/jSTESkWqXjbYQXpgR+DIZHjphP4xOQPYr337N+vpEsk7dn2XFscsbcdmQlyEkk6umH8M4lANm8W9a6Fdx0APoM6YZCFj69AUiWcRG2Cx4wy5ZzvkuniztEcXONxKcrzR7KPutOyU3ob3I5Pwugyunmc9lErBhFB7Ww0N/NGqtQI7FdpvM6DM2KWCpZvWgUPXOuxLr9LVOym37jQy/9ElCRxBVWStx9vPh5V8oSyDCTrYbPfUCo3TNgm+iMR/941U1ea03hVFBmkpL0VfZoOYXno6sIZK295kSF/fLPssUrSZWUQZ/Q4TOhz1kB//rmwpFFZ2KvhZ4cr+GwlJXqI99k26glc/ACIARKPbx6+cZyN3tI+SB8jDs0", "X-Forefront-Antispam-Report": "\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI0PR04MB12114.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(52116014)(376014)(366016)(1800799024)(19092799006)(38350700014)(22082099003)(921020)(18002099003)(56012099003);DIR:OUT;SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n sVE7v2dcuQkupZzg01reuXv5hzuZY6LkfjLl/adn+ulqJOb6sWCWnGNLuQylgmoAM1qWLZ8aNV0/YVXCMgSmGiE24MlwsCOBHyf/r8dcMlZ35GpYV7mJj25JaqWnSVKSE8+gHH0ImYxoRxpv0GudzS8yDPxcu8pXruunIyDHXzMnpdhFk90yRwx0lSCia7tMvir89Tp5EeXsLAFybwkaRev5jwCPaEAfvkaSw0SQlzaQmYRUGK5F11Pob2gKnBYBc0KnAp36LWLxVA950fe22//8Hb0cLAoLpW1uYxz8UD5TjSRhOjxDlpj6p18BfeXaWK05pDg6REZMdXAit8qA737l/6PXUw+IS5hGrpCnJPXforVwSwc1e5qWV0cbRcULdnalttV/h8zaMmw1dIeoOFihaJVK8iIip07MIA3Qdzmpxo0k9UxNh8woCloW+TrNUDP/oNPlApKPfJqZIBuE/22c1qfOVQgM3JxbkCZp9/EoNKEYPPoEbgAdTeZPbr7ICDJFZ/l+lKu/2Uoe0nSv/DvaD7eqprL4O5Cwfud3ZkQCOfJrMfWpg+ZGlyBwgsaTdqgNkfM5d0yjxcokApLPNEKohG4r8F6uFyM5GL2Ul9oqNR4WLTuLu2jagHgFVHzNuY2cGGWBFn79eBldraiAe6iDmeIPpr4SVl2Cv6bgsfxZV1ObWePN0cLVynDt8QxqcbjGvZwPpyaNpTZghvMn3bQVliNK0CoCZUoQRTQd0naw0dA6z+vAfqYG620eNTnHdjtJNbE/8FoT6Y4JpPtCbLT0nKHB+YUX0RLGNLK/kl5iNG3F31KAttQhM954CCSBBfdesmSmtsmoGCStV85kwKU79Co+xcSYZ/SHjsZrd55EVhv0xk6/Q7C+AU8anIzwnNsmzyitSlKR9Pub62c5AkiTE3nzGXtKYwpvKV6BPsWT8AAP890fIq2rAYSG8OpC5p+I4H067KAjIXOv9fXjlP5aOKNxfTIl33MoE+pH3pbxdJW5tn4/gnb/SvfMSrHFvi76KJIPPQDe29EYSceMLvg32cZljY7bDthyiQeqfRZZRzExmSWnzG+5o8VYEzzc/UNroMWPU9EbJ4Mrstah9Mtkj2v7E729uZHejO2wrr+c9+ejd1mV1ttY3CFLVKaCxUhZZTr8ZTM64hkeMogFbXurKC9PKBErF7NWKDKtAFMUUSzcHvNQaxwLmhszmk1xiVrmRdzFpCfD5YtjlVe8YPdfq6FUX/wkGF22dZ7RU94wx9gqo/RkqToza80COm/MRbH5E4YoZr4pCY6vYW9jut5mE18CSwDd9o9fU3ZNMkZe08DDJi5dfCxaBF87SJOFjnQ7ip087j5Vq6rG0A6YNxmgk0dfNu90XE9TUcy8lkusMfjx7zntNbblRPxfXi18KqexkZJZN8PF2iEPm7V3YtW1hx6yq/qe5VCAv2oEmxF58+g6znMqnC/2LH62hWKmeRC/LDRNvMiwU5/N9Qhdi+SuGRmN1TL/oIKwm2fMyt+JH5pWbY0kWUA9tAbr+PPfr3lLzcnhKrMHp+xiLcK+EuDl0c9R0md2qbWlsMBOSwcq4U+Y9+5PuGfWzsZtpNVN7N9rGxEHAVuvb3rgVfneLNLVrblGH6kIlJh/r/P2gJ/csSTxAHLIbE5/bnDIlpQx6jUKlW6ynFxy2g3lOfsOGtLG3OF2dw3Hj1lXaKWdsnzBjeVGbViSCZCSS+x6wq9r1ask0iVlwDIbjSKzKgZqDw==", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 207968f6-c524-4406-e3ec-08de909fe95e", "X-MS-Exchange-CrossTenant-AuthSource": "VI0PR04MB12114.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "02 Apr 2026 10:09:22.4368\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 4YY3lM5fpEskOLWtUBsnXMq89ihNnOPDZsygMtvspxxetU8Fbn8ugzmvqEGznFqFbwhPG+16GJCx+H2F3dGeCw==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AS8PR04MB8706" }, "content": "Integrate the PCI pwrctrl framework into the pci-imx6 driver to provide\nstandardized power management for PCIe devices.\n\nLegacy regulator handling (vpcie-supply at controller level) is\nmaintained for backward compatibility with existing device trees.\nNew device trees should specify power supplies at the Root Port\nlevel to utilize the pwrctrl framework.\n\nSigned-off-by: Sherry Sun <sherry.sun@nxp.com>\n---\n drivers/pci/controller/dwc/Kconfig | 1 +\n drivers/pci/controller/dwc/pci-imx6.c | 24 +++++++++++++++++++++++-\n 2 files changed, 24 insertions(+), 1 deletion(-)", "diff": "diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig\nindex f2fde13107f2..327b0dc65550 100644\n--- a/drivers/pci/controller/dwc/Kconfig\n+++ b/drivers/pci/controller/dwc/Kconfig\n@@ -114,6 +114,7 @@ config PCI_IMX6_HOST\n \tdepends on PCI_MSI\n \tselect PCIE_DW_HOST\n \tselect PCI_IMX6\n+\tselect PCI_PWRCTRL_GENERIC\n \thelp\n \t Enables support for the PCIe controller in the i.MX SoCs to\n \t work in Root Complex mode. The PCI controller on i.MX is based\ndiff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c\nindex b44563309d40..0078cd7bbf9e 100644\n--- a/drivers/pci/controller/dwc/pci-imx6.c\n+++ b/drivers/pci/controller/dwc/pci-imx6.c\n@@ -20,6 +20,7 @@\n #include <linux/of.h>\n #include <linux/of_address.h>\n #include <linux/pci.h>\n+#include <linux/pci-pwrctrl.h>\n #include <linux/platform_device.h>\n #include <linux/regmap.h>\n #include <linux/regulator/consumer.h>\n@@ -1314,6 +1315,7 @@ static int imx_pcie_host_init(struct dw_pcie_rp *pp)\n \t\t\treturn ret;\n \t}\n \n+\t/* Legacy regulator handling for DT backward compatibility. */\n \tif (imx_pcie->vpcie) {\n \t\tret = regulator_enable(imx_pcie->vpcie);\n \t\tif (ret) {\n@@ -1323,10 +1325,22 @@ static int imx_pcie_host_init(struct dw_pcie_rp *pp)\n \t\t}\n \t}\n \n+\tret = pci_pwrctrl_create_devices(dev);\n+\tif (ret) {\n+\t\tdev_err(dev, \"failed to create pwrctrl devices\\n\");\n+\t\tgoto err_reg_disable;\n+\t}\n+\n+\tret = pci_pwrctrl_power_on_devices(dev);\n+\tif (ret) {\n+\t\tdev_err(dev, \"failed to power on pwrctrl devices\\n\");\n+\t\tgoto err_pwrctrl_destroy;\n+\t}\n+\n \tret = imx_pcie_clk_enable(imx_pcie);\n \tif (ret) {\n \t\tdev_err(dev, \"unable to enable pcie clocks: %d\\n\", ret);\n-\t\tgoto err_reg_disable;\n+\t\tgoto err_pwrctrl_power_off;\n \t}\n \n \tif (pp->bridge && imx_check_flag(imx_pcie, IMX_PCIE_FLAG_HAS_LUT)) {\n@@ -1385,6 +1399,11 @@ static int imx_pcie_host_init(struct dw_pcie_rp *pp)\n \tphy_exit(imx_pcie->phy);\n err_clk_disable:\n \timx_pcie_clk_disable(imx_pcie);\n+err_pwrctrl_power_off:\n+\tpci_pwrctrl_power_off_devices(dev);\n+err_pwrctrl_destroy:\n+\tif (ret != -EPROBE_DEFER)\n+\t\tpci_pwrctrl_destroy_devices(dev);\n err_reg_disable:\n \tif (imx_pcie->vpcie)\n \t\tregulator_disable(imx_pcie->vpcie);\n@@ -1403,6 +1422,7 @@ static void imx_pcie_host_exit(struct dw_pcie_rp *pp)\n \t}\n \timx_pcie_clk_disable(imx_pcie);\n \n+\tpci_pwrctrl_power_off_devices(pci->dev);\n \tif (imx_pcie->vpcie)\n \t\tregulator_disable(imx_pcie->vpcie);\n }\n@@ -1911,6 +1931,8 @@ static void imx_pcie_shutdown(struct platform_device *pdev)\n \t/* bring down link, so bootloader gets clean state in case of reboot */\n \timx_pcie_assert_core_reset(imx_pcie);\n \timx_pcie_assert_perst(imx_pcie, true);\n+\tpci_pwrctrl_power_off_devices(&pdev->dev);\n+\tpci_pwrctrl_destroy_devices(&pdev->dev);\n }\n \n static const struct imx_pcie_drvdata drvdata[] = {\n", "prefixes": [ "V2", "1/8" ] }