From patchwork Tue Apr 8 21:53:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14043768 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 C3E8CC369A1 for ; Tue, 8 Apr 2025 22:03:14 +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:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=T7HJQ2hAoXZ3YLXCtp8CmzB59RjwMxfkFMOMkFzI9l8=; b=YbxYcf/Wm4I7x60ZzhD6jiklU+ N8rw5Pkq2TguoBk9WTeQsGhkFh3nWG5JhvYjUC4DTF20XjebiF7FC45p5xQHFYjsjdZRq1rMFwTQE plMkjY29Nj+B2Ryv9nnUEqkfihjmdvC+2bJGx5Gl9Rbf0Ujz4qjPX5Ccq7k5DMwnvfmUMhHFR4nEz HYjkOQvldqyZxzY5DtSAldhTPOlR4v4OJZMHJoiy4u9cGrXsb6n2S+cAznLAz1PwneyTydonkutdc zphopyFMls756/ZeHF0wAWnU18ovSort2QMj2kKiv9KSLTSmcTOTwdzZ/vqq/FfP84H5DBcIjnYPy RccJlHlw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2H27-00000005WE7-00XB; Tue, 08 Apr 2025 22:03:03 +0000 Received: from mail-vi1eur03on2062a.outbound.protection.outlook.com ([2a01:111:f403:260c::62a] helo=EUR03-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2GtZ-00000005UV0-0ht3 for linux-arm-kernel@lists.infradead.org; Tue, 08 Apr 2025 21:54:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XAFGuHzUG0p7FnXiR83BIbF/WMSDgR6YByHMkRiaDlF9wXA9FWThy3idWiMsYnV5L40KPBKD6zbLkkA8AnxDnueDf4KLVRvGCKIO4YttLWHFrn9ejDOVHHFfu7M63fcI5CVFCCXr20iwG7nI05xld0zBJK5my1Fdh2sUJIbtIR/f50zyskQxYD3Gt1Dk4H6t6v3fhVkvMYL4ELUuRGvZuKWiS10cdHifeZcJLmlw984AdHy0MuKLc55JHPskh2ivSh46vKKYibf2R9MQ9s88FZtAif1JzYGrHcWj6ZJ0Om4VJYSy0N9h5lgdF6BLfGybNysWjwHlfLu5dwO8oKH6eA== 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=T7HJQ2hAoXZ3YLXCtp8CmzB59RjwMxfkFMOMkFzI9l8=; b=bphicueNXT7+GP0+7gPlh8sOSwQKU2F6ZTIV4LGB5bxk8ru9r1/OXneaTsI7kQYfRBTKRj4m8T2x8LbtOYU/FvqbnbV8E5SI4HLRs+cypy3WmeQzAiX7PcarWFOoHxHx29hwF24D0DT1BWHje+AWXnBjdXSiCSYjOtKwmJ1kCWPE74cHAPhfH2fUHa29raQCv5b9VC5o+vWTfHExh1PKVsUd9Bsl40lfVczoC3oKMt1sTGDWeY0rMhq8KAWMVg69UJc65vSrRKsAo4MBrx5KSdvE5k7hG9zVM3j7g+OT56xNGspXxYBadNYVq7sCOdFOU7OVwn2Y3Gh/oW1cTSeCzg== 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=T7HJQ2hAoXZ3YLXCtp8CmzB59RjwMxfkFMOMkFzI9l8=; b=aQuax8ochjxWI8VLVO4efRoSbgrBFMcBb99GV7zuksN68LtrOW7JKc67uEPpa8quv4zUHB8zLkOhJzvDB2tvrwZAGmUvP82JzPVcWdXulhI8oW/Rd4E/zcO2YRyCFfoAgpyOl9RfEMuLY8FExIvG0x6nMY1VUlT6pymivcRUNL1NrArPJDnpkiJAtO24T1noOql5tp3ZjByB/vTyYI+3/pzRdsrjgCXjCx7vqbP6GdCd6qJh+uhtIn3AmB3rqXwDZDCJNJacKoMK110g3yScrmfTLWeWxU476UZ9p1jEUpSVZt5buEc2Utb4HUfHllGWIvfkHAfQQ1hmvtEkbvAtHA== 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 AM0PR04MB6993.eurprd04.prod.outlook.com (2603:10a6:208:17d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 21:54:10 +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.8606.029; Tue, 8 Apr 2025 21:54:10 +0000 From: Frank Li Date: Tue, 08 Apr 2025 17:53:02 -0400 Subject: [PATCH v4 04/13] media: nxp: imx8-isi: Use devm_clk_bulk_get_all() to fetch clocks Message-Id: <20250408-8qxp_camera-v4-4-ef695f1b47c4@nxp.com> References: <20250408-8qxp_camera-v4-0-ef695f1b47c4@nxp.com> In-Reply-To: <20250408-8qxp_camera-v4-0-ef695f1b47c4@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=1744149229; l=4942; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=NmWY5lQ0wDC6DARs+42lOLmZRItY9ghCAf/PRetKaOE=; b=PlRAskn940mlyeA2Pxt5d7GFwL7NxNOmByoEXcu4hc9JE1iio5wMJYFTtDpEeDhfHqx1FoJU+ 3kvnbGjZ82HCdyThePWO+vp4IuHHFy1DG0sjQ2wft8uQoy1VqvlWW3N X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: PH8PR02CA0047.namprd02.prod.outlook.com (2603:10b6:510:2da::8) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|AM0PR04MB6993:EE_ X-MS-Office365-Filtering-Correlation-Id: c0702599-682c-4f33-52dd-08dd76e7e4ac 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|7416014|52116014|376014|366016|1800799024|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?E0WLOEaro9a1YCOT4ahuOheOheHLdza?= =?utf-8?q?MJpHGFAsnjTScBb5XX/oXe9Fjp8PXE24gG1hb0kv7BCS09L52aONRy8kla1qgvqrI?= =?utf-8?q?5tfpWdfUmtXjfjQ9vU518U8wHoXCtcXhI4ecOe6+tcQ/l9mRN7UITBStJY55Uprir?= =?utf-8?q?9lrZcHUwEzgjB4m5IpW7D+ssCgUhnCZNd428YQDsbZVPyxanygi0TJj7unYOlri/4?= =?utf-8?q?+9nBG8CJxpMNJJmyMVB8wzBHxcT1oOxbsaBVGjoy7V8sIW4GhkPkRLba5aBK9sS7R?= =?utf-8?q?29attTRyj7Q9KT4yHHNw6DDONj5q1f9KmPTkcH5gekqBQwKzatsXhEyB5WX+8Kh6t?= =?utf-8?q?iSM3Idtse8K5u/tRjzpJll67jDSA9S+4t3tskzpu+Qm0A5N34pz0gqljpOWtZ5JlR?= =?utf-8?q?TQmGNMeoNer+8zW1gSWe7TEMfnBSdcyHjvykZRaRA2FmiaJJI6mZPj1l0LvDPngTe?= =?utf-8?q?KR6iAlRdzzD9XoXG27ecDtZasjv2ZzXOOSndVZPlaKkA7BbF9QAbGeZ17Yw0cg5E7?= =?utf-8?q?QYSoC5x8mPCqehRNx2kQh+ILLkrRNSVbqG3uqGemOZch2W1C5IUNGqeQbYAQz+CGk?= =?utf-8?q?XtOv0OPXv2L3O1pmcVT2TiTBU4c3cQihFurr+QFvSB3T1UXp7KffIfSFkuSys204z?= =?utf-8?q?YPtoz54yyer/xpVblRzUrDnesS4V2QwsEiIIi5Sch4Ub9Cge26PeqhbHMYrocIvGB?= =?utf-8?q?WrxtMiGFq2HdFaYdMA+NWmU+5w3rg1xrv6v/5qstln6tdQJjRCxKpK9mTRz3a5GEZ?= =?utf-8?q?3ZrR8aBkNUqxnXCvMD6gyBW3r69jQBPk9LFkLXnrDnZXWdyFPAC0z49e590WKSB24?= =?utf-8?q?l7N7gPVG0NCk9mpwz6xCxaiKanR7VkSTQiKDnzKB0O6DziFhPm67UUAnIwYK7ih7m?= =?utf-8?q?G7jbrT0dxGHw3TFkXpysG+cEbM6C9+gi4L6oSLMtU62YTZFJOaktcfo9NFnxac11K?= =?utf-8?q?5LdTJs3ptdYm5BTvQO3Z0PhaW7fI3MNg2RFcLpcy/xERVnHq65rLjzF/NNCqHpVc6?= =?utf-8?q?UY5KBIjp1I2reQQGYqMiunp7Syg24cWQDEZJl7RCfATR1lvmLv+qBmro8M2TNEfEb?= =?utf-8?q?TsQ72MjLUKptrRtkqna1eeJh1bmc4icuC4WmbMzpQD0iERXBQlGru1akZBFNnc9TO?= =?utf-8?q?KWk/+coYXKWvgio46X6+ttOR/B2csLJxd1HWWCEckaJAw3eRrsvcKpL+OEsZhUEi8?= =?utf-8?q?uiUsWtJKaDadtDxoAnuR5e2QXDyeQKJ5OpwzkPn0DoHEHTrsinKhGIXeCz6rNKyKg?= =?utf-8?q?/lUT4WQ6RqGgedwJyI2gPCp+e6lSeLZQ7cwwiW/1o4Tv7YtOPpTj4TTNzEqpubSEr?= =?utf-8?q?3Y9pdr2BhCUGU3KRL6pnmXukFcJF4ce0VwfaIxAcV0lMhd7DN9KxW7aCHCF7benHO?= =?utf-8?q?OsnIakWh8qufKiSnIVfOZBfWJk0q7Te6A=3D=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)(7416014)(52116014)(376014)(366016)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?q1/6liON+yOA3qI8zHASDj8Bo3DW?= =?utf-8?q?IWJAmFQHOSQTqr+kDsd+BjCaADDo9trjNVjqAdintC+LihMD9wa3/SHcAMvPJXd+q?= =?utf-8?q?tq/iFGN0Tp4dlbtMTlY9OGNyjMIWfFUk0eWzPls6OVfAAGIFAJAh82fkQT+8f9jDW?= =?utf-8?q?B8HJj5Im5NPAetNTEpqKzZkd9YRauWNL3shBrhdeAVs5BfcEFAIrBdRGSRBeTmaPu?= =?utf-8?q?FKl3lbgji3sGfwbxs8+umHYmXF/M9ecFiGBM0/qSpA3jfqsdvkha590zj97j9nj5L?= =?utf-8?q?dmlYXSR1YxiCKha8b2pXcQisQHCTSZQAp7jrp+MAMs+2BeC3IE8/zes4TMZCGzd9u?= =?utf-8?q?QaS1I29mb1egfgkfDbF2SOpVBwFfLIlKocHGfj9lGSQ2iwJ2lshQ6hwsCbWAwbEd8?= =?utf-8?q?b58aNQZBtAqwsLyqc/P4G4R4aJHuw/VDoJoa42NnkkMuMjQTRpL4eHIl+cD0WH+nN?= =?utf-8?q?wd22/hYBaOKQOgr82i4ELMAJJRMLvije2nw2SIuauycrH4nI7XBcYmnkBeWj10yaB?= =?utf-8?q?oDTA6DfAKbQaI1WgDNEri/WcDj2HO2ItI9Dye/VcNHS/7YWo9YBdtiT5pwtKTpIUo?= =?utf-8?q?qizajY0YjXz3s/RC08E4CxsOA9DOfjuw3hQJLbd+TurJr4I/4qqB/IWcsWbY3qvlo?= =?utf-8?q?dqjRSCsl2MAWr7b59gCJnzQS8HlyVKRDtWl+8s9NqQQHVtudDNRUqUXvcOoGHMJNu?= =?utf-8?q?mXL6PSEn8abg567b7L6PbjlDp5goRkotDBkSDE5tGPy+DdXQzsf4EfV7km988/W/m?= =?utf-8?q?IJW/bEwwTl0ONke9d8c80S1y3/DvT1Cix2DDCQ4xriNVSqebCvS5ocWxoblf9BsCQ?= =?utf-8?q?GOCEDPPAM31Qs4KLjZiHF/ZtT3LUrS5tmRZANvvPLAHl65mYfB8Qu33bq7/6oe0LD?= =?utf-8?q?tUSgWSkLqLhDdWPPgmQYn8rQJx8uG0knYVL/CikPEANjKJVcJyFvpZy+JWlP0pHsK?= =?utf-8?q?ZFDnM3LjiFRQ79B5qGrbZp63uv+dFV+ZvJaNNqPETfAQEdPhUJz3oPg3ln4Gxfwy1?= =?utf-8?q?n4yrDjS2SSCs6EztFJMiiE1xEKE+j7b/Y95JV2w3l58GEE0wdP6a9M44Ey93cHXet?= =?utf-8?q?1b9vdkK6ZvZzYltrUN6EGI0a/pITakjgCbKygamEPmlsVCpL2+g89en3248Kh0Tqk?= =?utf-8?q?RaJfBDOjuPVFOrfbb7BEYNp4IzS6V9efU/C2evxjZVyTDYaAS478FoEwHzdkY9K5q?= =?utf-8?q?kVrIiQ2f0SsKm73U/fafjvDvNqj2AIlfxyJ0QS0oRwVoDzWBU1jKZH2F2UPqx2KiH?= =?utf-8?q?4EY8+p+aM/XhvsJf8KIX71H4DYnrCuXzPOeAzbwohJL2rjoKmjwud6WLQsioAc/oo?= =?utf-8?q?GRmD1SpgYskSDvBMRdV5l4mK5EqBaxg5MxLGfMnqL4KenqiEmwnfnWOHOS6HPxFUK?= =?utf-8?q?GOGcl8etYI2noV4yAMAWInsjsgWH7c2JPSDlEq8S3ce9ELGONubLT3DD3ywN5Np95?= =?utf-8?q?5Yam1jwwOvWgZZHFS7SbQWRB+CdJ5tOPPbj8+Vkl8QRtQ8YA//9m74WoSODheJteU?= =?utf-8?q?p/KWQpmmPaBg?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c0702599-682c-4f33-52dd-08dd76e7e4ac X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 21:54:10.4399 (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: O18uGwRJ02k5iNws/sb8VvJekrDp/r8eRYP2qW+iCPbUfV/E9kzXOMt9Qhrp+7ZAAUlJR7JUimGmx6s3rBFCLg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6993 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250408_145413_381218_7AB87783 X-CRM114-Status: GOOD ( 17.49 ) 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 Use devm_clk_bulk_get_all() helper to simplify clock handle code. No functional changes intended. Signed-off-by: Frank Li --- .../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;