From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1C4D9C87FCB for ; Mon, 4 Aug 2025 13:46:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=X5/h17PUjNI9mey/DhpLhEtaIqbvYTS+yqLR3NNqI8I=; b=Kysgf6DldkJvHAeTDte3XG9RPV 8WlSZo/L/QkA/N2+bqrAuewEOZE4nt4cBKVyAxqtMfoADkf9okoNV0fqKomDNIqb7nveUZedBN3/1 6DmD1c/PqOeZNnX4lX2pCMFLHzHPlx8nmvxWvg6ww81JVU8Uqk8ubj0ineLcxC3Mh/Ri8NEn0eb3b 4Jeb5S48MdWKWGm7STfDIcaqQ0HB6QroKghpADJmxg6RlWxUccxA+BBwuM6BRGbothIX/jK740Dte K5ISfz37ZEDN2gZBVadE3nvQBdnTbQbA5yvoaq3V3d/AOWImiWorqlqKDOZ9SH6HutPRZvFhKRc5j 8GU+9/Kg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uivW6-0000000AZsn-3PHv; Mon, 04 Aug 2025 13:46:18 +0000 Received: from mail-northeuropeazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c200::5] helo=DUZPR83CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uiv28-0000000AVkH-3pAY for linux-arm-kernel@lists.infradead.org; Mon, 04 Aug 2025 13:15:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ix8ueA/lw8y4zDFf5xm7bMLSCsqBxwUVQjxw8U/6pK5dmUFe+98iwP+nNcLsS/FNCfGYmZ/bsHksHCKMa1x+RrZdiPQsZddi7SvR5kKwyFZYJo3maeYwKdQf07ZJUc3L4/geuqRbymjtzFZdEsBlkItLrWPSoOxsX/NgPpQ82Eg7XyPU328iEoL/dPD+SWW6FXyaglVUqWIJPixZF/otR7uBUUZUP1B5l3FD5ES1rI+pZbi4b+aJVJHpyb1X2yaEae+oSUDmXhhk1+urv8e41xczgsye8kfy4He0ljflC80VwDPtuJyThuIIMvys8b1d8G7OnCrlAAL09fj9wBmF6A== 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=X5/h17PUjNI9mey/DhpLhEtaIqbvYTS+yqLR3NNqI8I=; b=Xovbt2WlNb1mMdNcQhgS7/jaJXOiElEo8+mK6dcboHsC2YuI9RLYggV/saMKovleBIZhJmTe2x+n2Y/sqsysXuTi0QT52HkK+YtemhuDzFnpKRnvTzjKAKdTW0EpR45rrVuKBZCgKO52WFOXogYcBHieydbmErfP2rFLrxr3qIrY9mXKFC50QgwfYL5/BWPuAkfIUe81m0qlVYAWjqBgp2de5J8auwtj76Cgq5z+ePDo1iLmVVI0uiuHXTun4DrnVXiiVKe3PQl+3Au62oKqjp3fV9owteNcLMZY3TleqiJbRiWOeRqYgzXBLzquCZyM26neFSsjfE2z98a3mDoleg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X5/h17PUjNI9mey/DhpLhEtaIqbvYTS+yqLR3NNqI8I=; b=f+oZFbsrAdpKwdRj94HlxKIr6IVP7OsyOKKU0jsURmQnto94PaPs/905CX3jbF2MCVOTyDgqFS3A1nTAWHtg8ckUqHVLKu5A80Vl7jSuAu0HyfVhxTMguAPSYAyFJU9AtFq26aHhsWjIGEErQjNwfgqkhecrIz+bJmKkDfBhlWPFxAG1+SigFVGimehu3TGKcFR9u9gnMu9lrYI5K3aT8vuXAJHdFkFOYSpFFR2KjMYuJGVdlhS9f81uZdpPDnmjMBRBwrOL4XjXk0Rq+GUl8gX1/4iXwO4dXXPGBjfxMPksuR03nbc6R4TLyGhqBTnmvYkoSOGjfFMD7vpdLSbtcg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from GV1PR04MB9135.eurprd04.prod.outlook.com (2603:10a6:150:26::19) by GV1PR04MB10349.eurprd04.prod.outlook.com (2603:10a6:150:1c6::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8989.20; Mon, 4 Aug 2025 13:15:14 +0000 Received: from GV1PR04MB9135.eurprd04.prod.outlook.com ([fe80::b1f6:475e:de5d:8442]) by GV1PR04MB9135.eurprd04.prod.outlook.com ([fe80::b1f6:475e:de5d:8442%5]) with mapi id 15.20.8989.018; Mon, 4 Aug 2025 13:15:14 +0000 From: Laurentiu Palcu To: Abel Vesa , Peng Fan , Michael Turquette , Stephen Boyd , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: frank.li@nxp.com, Laurentiu Palcu , linux-clk@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/2] clk: imx95-blk-ctl: Save platform data in imx95_blk_ctl structure Date: Mon, 4 Aug 2025 16:14:49 +0300 Message-Id: <20250804131450.3918846-2-laurentiu.palcu@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250804131450.3918846-1-laurentiu.palcu@oss.nxp.com> References: <20250804131450.3918846-1-laurentiu.palcu@oss.nxp.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: AS4PR10CA0015.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:5dc::11) To GV1PR04MB9135.eurprd04.prod.outlook.com (2603:10a6:150:26::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1PR04MB9135:EE_|GV1PR04MB10349:EE_ X-MS-Office365-Filtering-Correlation-Id: e0ea3e46-0d59-4bab-9c80-08ddd358f2e2 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|19092799006|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?29J603uIn/CIn9/SFOoWyaO4HSt9L7VcGZFdcp2TPTNMEnGAfENtg5XCuff6?= =?us-ascii?Q?7Nto2DTobjlL6OgUkcS474XIalTupPrnfQJ3/lU255xWumVeSyqM8AEo+1mm?= =?us-ascii?Q?yyc6M8qlMPj3sOfqpzOlIR7nKZFwBV8nXRcGvrjJJVqcPsVh3Yx2PDSZafMI?= =?us-ascii?Q?kKrXx097Nc6MPuZKUTZjzhgzx7MiHwmWCIcWPmM8t9GETV7YBgHxa6jcYU6W?= =?us-ascii?Q?oloUZ6AAjlIHu3r6Z3yYm/XHuyRx4AyNGAlYu2fyZszQLMWSRLtEcjk74U70?= =?us-ascii?Q?dHkgTosf78rRpquVpSxhqy47EMkxIVYKUuuIxYb5TpOTZrPQx09hAcbk/afQ?= =?us-ascii?Q?eMgE4M2Gy4HQrG+TPqUN+Hu9TZ+16Sq8LgXRSweUKzqaLOh1Q+989QDD0Uex?= =?us-ascii?Q?B4Hr0ExYof9GL/ce2jkYo1BpqEpIRHGfF6xFU0HSAEjE2NFvLQaeHT09ck+t?= =?us-ascii?Q?JBGdtP2Ke+Lv9SlAq2sgUF8rfFcsbpVMckHifQHixsELmiweMArO0c4HkdCn?= =?us-ascii?Q?b/dQhE1kvWzuYkItKMg5rnEX1yVHfkBtWarkRqFXjDNGo1uYMNJ+Qp9HVfPv?= =?us-ascii?Q?NL/knrejV5Nyi8AK6wQudG5moU9/q4by20iZ36Z4tOvBbNKfkjY8tnszcSZg?= =?us-ascii?Q?bjcc0GiG4I7cScA3MsR/ic7qSHFE+xsnqt2C9+ZDwWZyD04hG1rySFNVg35M?= =?us-ascii?Q?bDUNAI4JoD//O5+BxSE6FdASoTUam8rz0k+iEkoLEkDqL/jg4ZK3zBuIspZN?= =?us-ascii?Q?EPIz43+0y3oiKaZbr1fouipDEQ6qd5GtlXXF/3d83c8FgPUaOmBFxQpBPFAa?= =?us-ascii?Q?gRPVlMNDP9XfKUJ9StnIa7oEKOe1q2LBJ4AJWTuQv9sK2OTNm7Vynjzs+a2Q?= =?us-ascii?Q?avhnyMGvkJ72giO572Qvzip5SoDwZgiyaLB/YRI/PIftkDPzYH4HqcFz7GHJ?= =?us-ascii?Q?MspDd/rYysjPrWXLZbOxLraBETvjVGLuH4bo1ufbUUFcf3OA+xFyATLcs62J?= =?us-ascii?Q?TdBTtfypbn7tAzti79AAlUJBrFAJaHFUDVTIy4bFd97NA15cnoDPQV/MCojM?= =?us-ascii?Q?sR0KOsvcC7oZ84tOnZfccZdCk9OnoEN0Fp9EQu35NWhWOPbBcxjR+mn+VQRo?= =?us-ascii?Q?rEeiK9ZQiZKp9XLUa+CLtN0PXlaAlvA38MJanIF3sJnODCS8Mha1gtEVSdMA?= =?us-ascii?Q?f8u9iHl39R83BPkqlOsOFNsZQFO6AG3BRbjddPC9Gpb9Lnqng8s8nGpuuL5M?= =?us-ascii?Q?qmwe7aro+b99ikziS+Lvn6D8/r+Sg9AznAtpUXF39Zakd2LKYwKKxXa+NPBM?= =?us-ascii?Q?VtJJnIhX3A+Woskre0zyjn6lAZbWdtQVVArLjGmrDuhj8Gaxp7vD3Kef76si?= =?us-ascii?Q?z79Slejm5Ai0oruYaVCIvyswkxi7YlNwZiyEkyhE+zdASsMca+zTfxi1Ux3G?= =?us-ascii?Q?5sHv1Zg5hvY=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR04MB9135.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(19092799006)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?DR/7pR4A65q+queJ8YPxRGzi6T5WIBa5CyK2qwPQylH5M4rDWI/AUmLSw7Tz?= =?us-ascii?Q?KdDT92dTLUYa8Mq2bROR0TyW8MmUrszctNdXTGQzXJIZvW6XFHGqXXfFfHpx?= =?us-ascii?Q?1poCQCGk6bEnkGr2fm63JV1q6bs+RTOZfSIUmT2dUDdYPGedkURqXsrqxXZC?= =?us-ascii?Q?FFR2o1ydVqaDseGfjEqDmsj1x18RGbgQq0IYpHI2OFjjTznRROKHQAPCND9W?= =?us-ascii?Q?SIA4UdUVtqChAOO+H/jpfBRS1bGlKMydaTpWDefwyW3t4ryjMxkHtii/lr94?= =?us-ascii?Q?fV7THXdpgFcr28ZO9f+7Wrm0vI8JyMEcJ3efjZEYoZZBavxQbQ05w95y+Z7+?= =?us-ascii?Q?OjW+2XfsfNafPMVO3DuBWjzj+u4iC02ZjUxG4/Fdy8LIwERB/d2JQvz2yvNC?= =?us-ascii?Q?KWjCcBviorFrfFJ0z67HpS4sDPIO/40olzIbKyWNTO0wBCcaXhwnqDvHQ5Ai?= =?us-ascii?Q?dmxzX5JWONSpMIrxnoeOh1oivpzP/p3JCrHit7jclc+m/I5cO1esLpOwRRNu?= =?us-ascii?Q?wWGv7lLyG2aHw/5JyGJHA4TSNnjIkq17GVUa2H6KVhK+ONg7HjSfFCxUusNp?= =?us-ascii?Q?Go3Dl8fqWochr+I2X+yorcMa12aCj2taTdltIgfzsDBcIpgKJYuRZu1z1HLK?= =?us-ascii?Q?BMzsIltDfiBHZ2Qay2pfJL4K8dz0rrrPVUSseOYdRO3XXz+Z3ULVmlmm2Bao?= =?us-ascii?Q?XA6J9uCRRqK4bINW3FJn4y4aKyFFK3QEv1KLzZZah+9V4/8oqNLIUH6l5ePF?= =?us-ascii?Q?L8kTP8ENlXDhsbuTclEUtMlgPrNR0HP45vFzq7T+1QAoYkxS/hxPTV7J74bL?= =?us-ascii?Q?UKznP8TCBxqlHkdDyPid7ArsMHhvyqK4e0a6vf4XPyggNgFisb92V5XPu2PV?= =?us-ascii?Q?pT0xt0BU8jhwaNEcYALu7nhdZ28Q9js5MnlPk0Pou+K5FeHKrAhVMD/caY/Y?= =?us-ascii?Q?UhmTqrd/bhIwpFlrpqcpDclHhFC+EsR9VRx2H9nbfuXjAwEf4HSm7DXyZLa5?= =?us-ascii?Q?QnTSbxfjUbOu4ZyHhq2MTnfXQyPzWCtOm2oRD6SwWOHK/QLeUcdVVez/SvGT?= =?us-ascii?Q?wXUmUaTbqN0VvcUYhDq5FJwZUqaYhNwWZ8qvIytoVEBiG1gTpJZ1cwd1PfYL?= =?us-ascii?Q?trDUgQlpvwhclyQgJ1cP0joRJDGLRnqp9A8JItr0BCQQfT2jSpDvyFRMi7/M?= =?us-ascii?Q?Ea6M58QK+7EzuIWmxdn5eGSXYzTabPeHggdgXPCeuAnM57qvApVLDTRjcNXQ?= =?us-ascii?Q?FklBPouFSxVahc9QVMTn4bEVqiDsbTNxPjIMwpXh+lB5UoCm/fVqfJ+FAYue?= =?us-ascii?Q?LcYA2UnF7rmkJyryS/8Xp8P2TVLwcBVar9wIYLquYQ7NHGlIPqbYNYXNVJh8?= =?us-ascii?Q?xy9QFFJz+b2QBSew7gi8dz53MTdPRqQv6g3CSaJzE2fSb959omxPrnIUBRrp?= =?us-ascii?Q?rLnwnw3C7w2gZnUNZZV0zcsrQYncDlArMo60/6pNbXC/xjjV0tqnr7fSEptO?= =?us-ascii?Q?CIS9RkdEdM2X9EVloWUol4JBr+Eplzk4IzlEavOUSnsG+CBrvHeoTU6NB2Of?= =?us-ascii?Q?qdWPAwGrXRqelC03dn4OOmq+VorjJmV+i49ZnV+jpWXVQlG8W0HnJXLaZQax?= =?us-ascii?Q?Yw=3D=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e0ea3e46-0d59-4bab-9c80-08ddd358f2e2 X-MS-Exchange-CrossTenant-AuthSource: GV1PR04MB9135.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2025 13:15:14.4322 (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: HbIZlVVz6ScxAxEq0lGMFOQC02pYPVaiiqJzukDCZGHDD37KUyF1P2QaLx83lj4T4wQL1G6acLcVFozWsXC4Ng== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB10349 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250804_061520_966793_59C37399 X-CRM114-Status: GOOD ( 18.34 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add a platform data (pdata) member to struct imx95_blk_ctl to store the result of of_device_get_match_data() during probe to avoid redundant calls in suspend and resume functions. Signed-off-by: Laurentiu Palcu Reviewed-by: Frank Li Reviewed-by: Daniel Baluta --- drivers/clk/imx/clk-imx95-blk-ctl.c | 36 +++++++++++------------------ 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/drivers/clk/imx/clk-imx95-blk-ctl.c b/drivers/clk/imx/clk-imx95-blk-ctl.c index 7e88877a62451..c72debaf3a60b 100644 --- a/drivers/clk/imx/clk-imx95-blk-ctl.c +++ b/drivers/clk/imx/clk-imx95-blk-ctl.c @@ -36,6 +36,7 @@ struct imx95_blk_ctl { void __iomem *base; /* clock gate register */ u32 clk_reg_restore; + const struct imx95_blk_ctl_dev_data *pdata; }; struct imx95_blk_ctl_clk_dev_data { @@ -349,7 +350,6 @@ static const struct imx95_blk_ctl_dev_data imx94_dispmix_csr_dev_data = { static int imx95_bc_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; - const struct imx95_blk_ctl_dev_data *bc_data; struct imx95_blk_ctl *bc; struct clk_hw_onecell_data *clk_hw_data; struct clk_hw **hws; @@ -379,25 +379,25 @@ static int imx95_bc_probe(struct platform_device *pdev) return ret; } - bc_data = of_device_get_match_data(dev); - if (!bc_data) + bc->pdata = of_device_get_match_data(dev); + if (!bc->pdata) return devm_of_platform_populate(dev); - clk_hw_data = devm_kzalloc(dev, struct_size(clk_hw_data, hws, bc_data->num_clks), + clk_hw_data = devm_kzalloc(dev, struct_size(clk_hw_data, hws, bc->pdata->num_clks), GFP_KERNEL); if (!clk_hw_data) return -ENOMEM; - if (bc_data->rpm_enabled) { + if (bc->pdata->rpm_enabled) { devm_pm_runtime_enable(&pdev->dev); pm_runtime_resume_and_get(&pdev->dev); } - clk_hw_data->num = bc_data->num_clks; + clk_hw_data->num = bc->pdata->num_clks; hws = clk_hw_data->hws; - for (i = 0; i < bc_data->num_clks; i++) { - const struct imx95_blk_ctl_clk_dev_data *data = &bc_data->clk_dev_data[i]; + for (i = 0; i < bc->pdata->num_clks; i++) { + const struct imx95_blk_ctl_clk_dev_data *data = &bc->pdata->clk_dev_data[i]; void __iomem *reg = base + data->reg; if (data->type == CLK_MUX) { @@ -439,7 +439,7 @@ static int imx95_bc_probe(struct platform_device *pdev) return 0; cleanup: - for (i = 0; i < bc_data->num_clks; i++) { + for (i = 0; i < bc->pdata->num_clks; i++) { if (IS_ERR_OR_NULL(hws[i])) continue; clk_hw_unregister(hws[i]); @@ -469,14 +469,9 @@ static int imx95_bc_runtime_resume(struct device *dev) static int imx95_bc_suspend(struct device *dev) { struct imx95_blk_ctl *bc = dev_get_drvdata(dev); - const struct imx95_blk_ctl_dev_data *bc_data; int ret; - bc_data = of_device_get_match_data(dev); - if (!bc_data) - return 0; - - if (bc_data->rpm_enabled) { + if (bc->pdata->rpm_enabled) { ret = pm_runtime_get_sync(bc->dev); if (ret < 0) { pm_runtime_put_noidle(bc->dev); @@ -484,7 +479,7 @@ static int imx95_bc_suspend(struct device *dev) } } - bc->clk_reg_restore = readl(bc->base + bc_data->clk_reg_offset); + bc->clk_reg_restore = readl(bc->base + bc->pdata->clk_reg_offset); return 0; } @@ -492,15 +487,10 @@ static int imx95_bc_suspend(struct device *dev) static int imx95_bc_resume(struct device *dev) { struct imx95_blk_ctl *bc = dev_get_drvdata(dev); - const struct imx95_blk_ctl_dev_data *bc_data; - - bc_data = of_device_get_match_data(dev); - if (!bc_data) - return 0; - writel(bc->clk_reg_restore, bc->base + bc_data->clk_reg_offset); + writel(bc->clk_reg_restore, bc->base + bc->pdata->clk_reg_offset); - if (bc_data->rpm_enabled) + if (bc->pdata->rpm_enabled) pm_runtime_put(bc->dev); return 0; -- 2.49.0