From nobody Mon Apr 6 21:56:38 2026 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) (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 82F4427FD45; Wed, 18 Mar 2026 02:40:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773801628; cv=none; b=LVKdtumQMT8s6e3jjObkEdTbz2BXbnMSDHG0u7LkWHVkhyMAkifmKYy2RUtACB3EhDlRGPIuRRIFIPrg6uxihQ56jBB7sTKOxcJMu83/3kxXCbhWU5dpkv1TFoNaRKw+EtMgjOySqQoRKIdnwod3svvZLDlIOUQQIGDDfUC3n6Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773801628; c=relaxed/simple; bh=I7D+qCFH1WwtAAhdCWnttNN6uB0w0Pl9MqHSBAG5xsc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=TKZZdteOIPp0l2LQGCFcFDFIAlhBgD7wE6ainkHIsaV+oIzPu566ncONx3E49t9pAsfIJSkbkQXEPo93Kg/3ZyXLzGkjVqYUtQq03roUO59HFg1NVfmMP8e4JymaNpYTR2xI95nzZuo5c+kzVJ/hPxHzHKfk1UQgdjLX7+x+ayI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn X-UUID: ca247bee227311f1a21c59e7364eecb8-20260318 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:db6aecef-6bf7-4efc-a7fe-a597a8f1e5fc,IP:0,U RL:0,TC:0,Content:-5,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTIO N:release,TS:20 X-CID-META: VersionHash:89c9d04,CLOUDID:ed94ccb7dde8ac94044c8db9edffc78e,BulkI D:nil,BulkQuantity:0,Recheck:0,SF:81|82|102|850|898,TC:nil,Content:0|15|50 ,EDM:5,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OS A:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: ca247bee227311f1a21c59e7364eecb8-20260318 X-User: xiaopei01@kylinos.cn Received: from localhost.localdomain [(10.44.16.150)] by mailgw.kylinos.cn (envelope-from ) (Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256) with ESMTP id 556156718; Wed, 18 Mar 2026 10:40:13 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, openbmc@lists.ozlabs.org, linux-rockchip@lists.infradead.org, linux-riscv@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com Cc: Pei Xiao Subject: [PATCH v4 05/17] spi: imx: Simplify clock handling with devm_clk_get_enabled() Date: Wed, 18 Mar 2026 10:39:55 +0800 Message-Id: <554b3a088ac453f50df9b040e3506c807efb5dd6.1773801401.git.xiaopei01@kylinos.cn> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace devm_clk_get() followed by clk_prepare_enable() with devm_clk_get_enabled() for both "ipg" and "per" clocks. This reduces boilerplate code and error handling, as the managed API automatically disables the clocks when the device is removed or if probe fails. Remove the now-unnecessary clk_disable_unprepare() calls from the probe error paths. Signed-off-by: Pei Xiao Reviewed-by: Frank Li --- drivers/spi/spi-imx.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c index 64c6c09e1e7b..a01c466818de 100644 --- a/drivers/spi/spi-imx.c +++ b/drivers/spi/spi-imx.c @@ -2323,26 +2323,18 @@ static int spi_imx_probe(struct platform_device *pd= ev) goto out_controller_put; } =20 - spi_imx->clk_ipg =3D devm_clk_get(&pdev->dev, "ipg"); + spi_imx->clk_ipg =3D devm_clk_get_enabled(&pdev->dev, "ipg"); if (IS_ERR(spi_imx->clk_ipg)) { ret =3D PTR_ERR(spi_imx->clk_ipg); goto out_controller_put; } =20 - spi_imx->clk_per =3D devm_clk_get(&pdev->dev, "per"); + spi_imx->clk_per =3D devm_clk_get_enabled(&pdev->dev, "per"); if (IS_ERR(spi_imx->clk_per)) { ret =3D PTR_ERR(spi_imx->clk_per); goto out_controller_put; } =20 - ret =3D clk_prepare_enable(spi_imx->clk_per); - if (ret) - goto out_controller_put; - - ret =3D clk_prepare_enable(spi_imx->clk_ipg); - if (ret) - goto out_put_per; - pm_runtime_set_autosuspend_delay(spi_imx->dev, MXC_RPM_TIMEOUT); pm_runtime_use_autosuspend(spi_imx->dev); pm_runtime_get_noresume(spi_imx->dev); @@ -2386,9 +2378,6 @@ static int spi_imx_probe(struct platform_device *pdev) pm_runtime_disable(spi_imx->dev); pm_runtime_set_suspended(&pdev->dev); =20 - clk_disable_unprepare(spi_imx->clk_ipg); -out_put_per: - clk_disable_unprepare(spi_imx->clk_per); out_controller_put: spi_controller_put(controller); =20 --=20 2.25.1