From patchwork Thu May 22 17:56:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 892357 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2063.outbound.protection.outlook.com [40.107.21.63]) (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 113241A239A; Thu, 22 May 2025 17:57:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.63 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747936641; cv=fail; b=pyHSSZSCuZ4Aan6A2wu8a4W8LcvDwzT4SS03wFCGwsiGBkfEgLmdo0f0nhdXb9hX2oAG8+liDAT0tA3SbYSnt0812ELVGCPxeB/VP3ZH3zRpR27lCgB9D0BMm5L1wZxbgf8NEgDMvZgnXlXcKe6NnZMmsfP26lzlDLVnGdF+lgs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747936641; c=relaxed/simple; bh=fqwXtCqUEC5fQ1kuDzhvENyE4RRLXfgHO0RIN9hrMBk=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=I8l7iHaccUQRGhMc+aBAENgb8krc47KqcOy9p8smORFqIJZxXIzVxoX1ZikCO+E7OAZiLuJxNnvdm8CPqAayulNkYQzDsqnBlcytJv+LR5L1yeZLr0/8hNfvtoDPRtMA2awyZnsXi/f3NEFgSBOp/RmGJYCBqVLOhKd2izd4jr4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=OV3+VNoQ; arc=fail smtp.client-ip=40.107.21.63 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="OV3+VNoQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZuatY2+FZ42flr/MziXMlE1y662csWRqW+TpwuAq5BNqiIJ2xFx1DBb6vJQmp5WffKsrs83ZU9qxWmvL8EjCrIFt6QzmyOE00kUHL0AwO5CRDLk/u/NayNzIh2ggZyTvRUVfKpOJIa1Kj0CQiNiwxd8WRf/26KwSr4q1Sf44UB5KXwTjvYqNzzYSFOqa/+ZelF5XmINMufgDW6Dx8lSBuEQ9keNVmyKZO2sDVBm5/Uj+uOF5sqFklM0PGFrdxDmpxJAsr/QAQri0OukdaUSABQr3wvRQcC3OzXhKCE+wK+86/DqvdzTszhjVYV9RnQB8CH/hSW6dyjzgy8x7C0Wz7A== 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=GLCIfAQkZuA4HrGCxjFPi+uIvxtJ7dh4K2YNX0pskQk=; b=FoZYZIEsCqFcMd6EIdhd/+DCGfRekqfU2EcDy5uhjx4bKrnMLpiHlnYUHhVsXXfCcGqjSVmis1d59WIfGV64ZcDoa3qK5xtG6T5KO9+qfQVyCQ+6fWhFmhRjw3b/G3UlIyeoOEOigiWT2II3poh9zxV+thYZhplcVuE/+MEwyx6ZIxEwGU0AEtc1VkACPXJWBeyqZgODH6xIQSgSpN7JJOpKHq5nFdn1Bnzk0OyU81UOCRQ9pekCnWyfhEQLt3+wFODepWKvIGulXt3eaNI4NSCEdup2YkbAxXf6sLCGepErrTxQQjrJJOOktZmJRyo0HUkXDIOaZ5Zs3unzXLdgQA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GLCIfAQkZuA4HrGCxjFPi+uIvxtJ7dh4K2YNX0pskQk=; b=OV3+VNoQEquK+XCV/yXzg0mLUBo+EgauqRTlRuMH5loLhXBazdZWDy0eb90b4MYbXbaxzcTi1YkPzxJkaqc5U3HiRu5S/+7cMvxJrR+XIcvGUwY225zHlwnfo6XeXPeBp9tEXotbf6Q28JDaBTxZZAxnp1AcT6IZLkUzcVjCvm4TUzULoXvCTHO4WsZA5KcPwxz9+H7GCsFeHQ4tY67TYv7cnDjgLe6atSpHfCirKL/95vyWCAdudKi6J0MJwIONk64ftjakluKPExowK0Urtyrb27CaB2i5URPK4nLq9BYOrlsWzpxA1XYqFcSaewpxGJff6HzmdyvvnS92MLy5VQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by FRWPR04MB11272.eurprd04.prod.outlook.com (2603:10a6:d10:19c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.21; Thu, 22 May 2025 17:57:16 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8746.030; Thu, 22 May 2025 17:57:16 +0000 From: Frank Li Date: Thu, 22 May 2025 13:56:42 -0400 Subject: [PATCH v5 04/13] media: nxp: imx8-isi: Use devm_clk_bulk_get_all() to fetch clocks Message-Id: <20250522-8qxp_camera-v5-4-d4be869fdb7e@nxp.com> References: <20250522-8qxp_camera-v5-0-d4be869fdb7e@nxp.com> In-Reply-To: <20250522-8qxp_camera-v5-0-d4be869fdb7e@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , "Guoniu.zhou" X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1747936611; l=4969; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=fqwXtCqUEC5fQ1kuDzhvENyE4RRLXfgHO0RIN9hrMBk=; b=nSZOiELzIVkLl9fyGCrV7RI0iLuEoLuCK/tYx+T5PtwkltfsOz2Oz4wQoQ4PWdeSODhUbfUQX 8uXy/ncsVdaBqwUqv4ofkT77SqVlN7IEwG8PREhAU069BTNrRdWeDPc X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: BY5PR04CA0006.namprd04.prod.outlook.com (2603:10b6:a03:1d0::16) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|FRWPR04MB11272:EE_ X-MS-Office365-Filtering-Correlation-Id: 897808e3-5065-4e3c-ee83-08dd995a168b X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|7416014|52116014|376014|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?/bOjVgVZYYbdUctVNgjwPuJhQ6tBLOq?= =?utf-8?q?F4IrSYlXhLUXM+PAiuVARD5V0Bvm6gDh8XQl8XLC6QMk4OFqWvDgtyqCXgGZMmhwC?= =?utf-8?q?TUOBlTsLzVR+J2ZGIoXaUSgU8xqO8LCfaKpSkxNlANaUNxKm1i8/QGG0ZV2j3I0O0?= =?utf-8?q?g7m2Nnlpd4ah4uqqKH7B2/riETey4S4dFhHuI3p+ulbS22n9SzGxQ3y81C0qXGxEa?= =?utf-8?q?nsi58plBVS52FjIj8wyBtswQCXJ58eLkpv4nJED4yV46Or6SzCRAGD+S9/9kksTRe?= =?utf-8?q?1iI3gUo/nW++Y1JMK5I7R+zhiXouonbYFnO5h9EARkRcsyMagyz5z1D9+d6cHZvg1?= =?utf-8?q?HGAsbgZFde69iLy8S+7ffbEq0pdX8lJawfI2K8Qa1sARys1uLdZYwcyeXWbJ8rDjK?= =?utf-8?q?sjYuSkohhk018in0dIFuckqfkAznJwq3gxa/UHBrQ0jnacrhGaaBPPeja6Iqgt5pg?= =?utf-8?q?pT+Qr2iuKvQRsIqSE724Duq8hK2K07Rivq7DaHqdKMEivSkWgKxoLWo77USYtwWNA?= =?utf-8?q?zRxvAjbf4MR2yfQeE95xNxmN+MQfWICKz284BsIaLu/5vFWCRnaw0Yyq2oyqoTWCL?= =?utf-8?q?kH2pSeOQQjGA1hYzl5xXQD/yA5kNxZo7+XnkuCQ3ekbtu9hVxNlOVzKhIvNgyf+og?= =?utf-8?q?kyOdd6Pao2oxEoLwgSCzx3ogTL6+AVwTLx2XWhlYbEvN44ykGg4BQUZv2rCAIGZLy?= =?utf-8?q?UDDIv4kqORNaJrJ54whYAMdaYe+jNMPZfbbd1WX9fLrJPEx5gIstgnZeCh0qKAXkT?= =?utf-8?q?cNVcDDunjxHpeZNtZ8R/+sN4B6yPNb4J2eTeG0WkiOy+PUqCBkH+utwa/hZfvLWo+?= =?utf-8?q?zVt6lnevam5XWYjeFUpCGIeJCiGc+r98moBC873eOgJoxkAxce0Vag/gXPAx+ThP4?= =?utf-8?q?iDY2uSX/pvlQCNU14LHSH4oQC3woXNHSygS7nfRHYMtRDH9ziYZTwbTbaorlMW/uc?= =?utf-8?q?WqI7VnzUcxyadNX6dYaEJ9H6PqqBnJJFkEYZ8PrDmTe3Z4qDqphT9oqT1bF7YLUfy?= =?utf-8?q?92YTR2GslQ16ENcFixA6ZHkLcWYOpgkRoBUHPXD3sv4LHKNdoxxThnwvdetgjYwhO?= =?utf-8?q?cWH98HNtfVm0Yhb2eenFYck8s60mbp1lUqzzCPOi7AZRT/FWlZF1Obd9hPXEmiMAQ?= =?utf-8?q?UdTXYUuy5jU1mJQvL3TFZ0HHAFBO8xWt/St419ZekFx0gvw9kN4PulBDU34E3tjgQ?= =?utf-8?q?FeXxw3+9cMkH4yuzHvB5ylJSyrOYwz1o7QrD14L6NItUFkxoYjxfw3EbIw/WNf2pO?= =?utf-8?q?jPWRehg2s54z33z5R8VJUGYP5bE4JhVOPLHjiXh+4e2FWV//tuDlyAd1Zy/I1eqTi?= =?utf-8?q?ITrXrutGt5XKcU6HupgMOTv6TDKc5YwJDY68rRBUo9hRDjAwR1qSC8hTuMgKDfYr+?= =?utf-8?q?TdpPflCCHzLvJulTUGMDIGIUYUXItivkSESchvEz0uMXJ+Airzsu6E=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR04MB9642.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(7416014)(52116014)(376014)(1800799024)(921020)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?MqM3vlqjac9veuIz6g5FLDetLmU4?= =?utf-8?q?Q+aOi5w/sQH1XHsV6/AVhxwvknUocEeEPYACWoEZBITimxvCsQgzi2dZq2EJFaXMP?= =?utf-8?q?1YLMYldwRWxJSkyVCLIwTQ6u2BYqhmARh+05xrrMlyK4GBgtOaw4b9ZfpAYjYr/FT?= =?utf-8?q?Zzj2aV/yTBs0PZx/f6aCI9uJgFvxMk7gn9ossPbY6oS2TQ+m9iNuGq/Rxo0h8nAZ5?= =?utf-8?q?UPD/CJW/zWDF/Z0VteZ/Aa9Vm8EWCCmradmJnvgxy7bATJ7TW/niDmnQ+WAVs/0jl?= =?utf-8?q?muoR9JvliMrPT26hv5w8T/+az0b+xjIMdyjRWO+O5xfli3Y6atREnH6N1FaSxeQe/?= =?utf-8?q?SM8BFGMXI4l3UQkIhYjvFVVFLSxVEyTRIaDrtwfTQjAXMRPMgb4BsvF6dN4mVz8+u?= =?utf-8?q?mTdopC3DXfBHQFvwSur/8+5S7wU3hJru76M2dpUoEtMi7C9KewnYjnzWGuIQ7VlLm?= =?utf-8?q?aGXCdr90e4pkPsazaHAJSOpwpfM4i4YQxa8RAZKWsq8H8+4o420j42FLJeFXcHMCD?= =?utf-8?q?5mFbipICs8QMXGWtwoIZsY+UZ88yllW+ej4AL+3WrBBKlC9lv+dOboVtz0bLew7eK?= =?utf-8?q?NDa2wifvB1xZrwg/7wyeNqkaDACh97qC0wuUbTJH0tig/6tmfW3L+GwqDnwEUKKiE?= =?utf-8?q?hs4RhQd4xhRnTLDISjlLHjOlGyLH49fx0JVjCCQvu09WfQWY2QmHO7ku98DIThUE9?= =?utf-8?q?ge9j/H1U/QNtu6Dm+90n1yemcEKH3lk92VQlqOyfyGPGTcsDgF8lF7LSwi6suTsFV?= =?utf-8?q?PnScS02ELQt7r+wrK/G5T9Rvkl3yKPb8NweWEmRYnzi8z4xJav9dqKwUgrZLg/+5o?= =?utf-8?q?fhtMcawq78lkWwn5lPNIf1goDv80aKXqT/276CgM7yePdPK5RB8PUV/bwVKH6MkNS?= =?utf-8?q?RtAK5bZMKo5bw0IG2xiBbqpTIw9/VMRiv4PiI8019+7ODftJX0cyR40fWGUSLDRV2?= =?utf-8?q?H99kxk/HFMBDZ+s8VNN5i7LPwK1Sk+KWOofwYlkDkGfod3b83fAb+TIIPO6EYw3b/?= =?utf-8?q?uKy1Tm4uledFyuli43YLjq9oVH4+9+FC+C4V4OAyZhVis1kujTwLOqvszUpH26T9m?= =?utf-8?q?2Q0Wx3RUcqmngjjYSwmOntBKvSQvC+vD6hFunMFmgSJlrm0cEldFGRuDEPES8oqpI?= =?utf-8?q?HMv8EQKAujXJKhmT1BPOQNbPdbilL5ACOwAA8X91lwmBpfwNnd/G9+hhZNUGUAcsG?= =?utf-8?q?s0MSzm3aqrq8ZkK6w29qVndg0H8UemS9ibEzAHTzXCMN3VX5g5fTAqNaYJraVki89?= =?utf-8?q?h3qe+77GwSayz2Iw4U2yLJknUgLYwF+HzX73Dk3qctOyBXRNCvva4VzI4bZw0hFqZ?= =?utf-8?q?MzzlmazoYVbP6zWO11PTIVGQEskV4BK/gMzlkbJJeX2WMYS9Mkrg/F6puTnYeUakz?= =?utf-8?q?c5fJ1EwQEiFaiuhckrPcD7MrHE5L/nigEXvxKhuDU7ppIQrd0VH/CHiqPcpilSTnZ?= =?utf-8?q?vRJ3wG7+ZiEXdrct9jvVgTi+dmFq7G5AIi+60hxW6nHQb6lFVXPOuAh6OPfJxIi5o?= =?utf-8?q?9DD52R9qCD0I?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 897808e3-5065-4e3c-ee83-08dd995a168b X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2025 17:57:16.2682 (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: VRTivAfiFJCg7WlgixYeVxXP3nCA142gm+bkOvo5XeDcEXC+kw00R3N5ZAGDcE0e8nHLnJVpRrdTPTFcR4J3Pg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: FRWPR04MB11272 Use devm_clk_bulk_get_all() helper to simplify clock handle code. No functional changes intended. Signed-off-by: Frank Li --- change in v5 - none --- .../media/platform/nxp/imx8-isi/imx8-isi-core.c | 46 +++------------------- .../media/platform/nxp/imx8-isi/imx8-isi-core.h | 3 +- 2 files changed, 6 insertions(+), 43 deletions(-) diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c index ecfc95882f903..015350c6f2784 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c @@ -275,11 +275,6 @@ static const struct mxc_isi_set_thd mxc_imx8_isi_thd_v1 = { .panic_set_thd_v = { .mask = 0xf0000, .offset = 16, .threshold = 0x7 }, }; -static const struct clk_bulk_data mxc_imx8mn_clks[] = { - { .id = "axi" }, - { .id = "apb" }, -}; - static const struct mxc_isi_plat_data mxc_imx8mn_data = { .model = MXC_ISI_IMX8MN, .num_ports = 1, @@ -287,8 +282,6 @@ static const struct mxc_isi_plat_data mxc_imx8mn_data = { .reg_offset = 0, .ier_reg = &mxc_imx8_isi_ier_v1, .set_thd = &mxc_imx8_isi_thd_v1, - .clks = mxc_imx8mn_clks, - .num_clks = ARRAY_SIZE(mxc_imx8mn_clks), .buf_active_reverse = false, .gasket_ops = &mxc_imx8_gasket_ops, .has_36bit_dma = false, @@ -301,8 +294,6 @@ static const struct mxc_isi_plat_data mxc_imx8mp_data = { .reg_offset = 0x2000, .ier_reg = &mxc_imx8_isi_ier_v2, .set_thd = &mxc_imx8_isi_thd_v1, - .clks = mxc_imx8mn_clks, - .num_clks = ARRAY_SIZE(mxc_imx8mn_clks), .buf_active_reverse = true, .gasket_ops = &mxc_imx8_gasket_ops, .has_36bit_dma = true, @@ -315,8 +306,6 @@ static const struct mxc_isi_plat_data mxc_imx8ulp_data = { .reg_offset = 0x0, .ier_reg = &mxc_imx8_isi_ier_v2, .set_thd = &mxc_imx8_isi_thd_v1, - .clks = mxc_imx8mn_clks, - .num_clks = ARRAY_SIZE(mxc_imx8mn_clks), .buf_active_reverse = true, .has_36bit_dma = false, }; @@ -328,8 +317,6 @@ static const struct mxc_isi_plat_data mxc_imx93_data = { .reg_offset = 0, .ier_reg = &mxc_imx8_isi_ier_v2, .set_thd = &mxc_imx8_isi_thd_v1, - .clks = mxc_imx8mn_clks, - .num_clks = ARRAY_SIZE(mxc_imx8mn_clks), .buf_active_reverse = true, .gasket_ops = &mxc_imx93_gasket_ops, .has_36bit_dma = false, @@ -386,7 +373,7 @@ static int mxc_isi_runtime_suspend(struct device *dev) { struct mxc_isi_dev *isi = dev_get_drvdata(dev); - clk_bulk_disable_unprepare(isi->pdata->num_clks, isi->clks); + clk_bulk_disable_unprepare(isi->num_clks, isi->clks); return 0; } @@ -396,7 +383,7 @@ static int mxc_isi_runtime_resume(struct device *dev) struct mxc_isi_dev *isi = dev_get_drvdata(dev); int ret; - ret = clk_bulk_prepare_enable(isi->pdata->num_clks, isi->clks); + ret = clk_bulk_prepare_enable(isi->num_clks, isi->clks); if (ret) { dev_err(dev, "Failed to enable clocks (%d)\n", ret); return ret; @@ -414,27 +401,6 @@ static const struct dev_pm_ops mxc_isi_pm_ops = { * Probe, remove & driver */ -static int mxc_isi_clk_get(struct mxc_isi_dev *isi) -{ - unsigned int size = isi->pdata->num_clks - * sizeof(*isi->clks); - int ret; - - isi->clks = devm_kmemdup(isi->dev, isi->pdata->clks, size, GFP_KERNEL); - if (!isi->clks) - return -ENOMEM; - - ret = devm_clk_bulk_get(isi->dev, isi->pdata->num_clks, - isi->clks); - if (ret < 0) { - dev_err(isi->dev, "Failed to acquire clocks: %d\n", - ret); - return ret; - } - - return 0; -} - static int mxc_isi_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -457,11 +423,9 @@ static int mxc_isi_probe(struct platform_device *pdev) if (!isi->pipes) return -ENOMEM; - ret = mxc_isi_clk_get(isi); - if (ret < 0) { - dev_err(dev, "Failed to get clocks\n"); - return ret; - } + isi->num_clks = devm_clk_bulk_get_all(dev, &isi->clks); + if (isi->num_clks < 0) + return dev_err_probe(dev, isi->num_clks, "Failed to get clocks\n"); isi->regs = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(isi->regs)) { diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h index e7534a80af7b4..bd3cfe5fbe063 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h @@ -169,8 +169,6 @@ struct mxc_isi_plat_data { const struct mxc_isi_ier_reg *ier_reg; const struct mxc_isi_set_thd *set_thd; const struct mxc_gasket_ops *gasket_ops; - const struct clk_bulk_data *clks; - unsigned int num_clks; bool buf_active_reverse; bool has_36bit_dma; }; @@ -282,6 +280,7 @@ struct mxc_isi_dev { void __iomem *regs; struct clk_bulk_data *clks; + int num_clks; struct regmap *gasket; struct mxc_isi_crossbar crossbar;