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: 879593 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2075.outbound.protection.outlook.com [40.107.241.75]) (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 3D565255239; Tue, 8 Apr 2025 21:54:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.75 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149255; cv=fail; b=HCR7IGZyICsjIuqLn+5kb71VfnU02m14CCXrsqxk4jChvscHjrjIiAr73Fhh+lE1xt8xQjRvJ8RuD0TlDuC9waciHGZVy71ecOISOjOCrMZeI5JYi2Yy+3wFbS7hZnx5cR6CUCe/qHiESXd3BQWHX2KCcggSu90EtrQaF3Htn3Y= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744149255; c=relaxed/simple; bh=NmWY5lQ0wDC6DARs+42lOLmZRItY9ghCAf/PRetKaOE=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=jcCSe/LAU0oKiXWpJyH9fwaqY4LGFNCm1nKJ38pXeQf+TTMe4xSQIg0UGhx+nbN3EZdcUd4dqQXdEYYBlg8xu0VpUzSkf8eXozRBOdBYx7Kk4kAmLhzpHayQ+/Jz/vUC7/fd/3jmo1QUzchZLrxKrokvdBkA76XWZqbQREtvXOI= 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=aQuax8oc; arc=fail smtp.client-ip=40.107.241.75 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="aQuax8oc" 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) 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_|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 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;