From nobody Tue Apr 7 17:51:52 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 582313B3BF1; Thu, 12 Mar 2026 09:29:23 +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=1773307765; cv=none; b=B//9oNiErrq0W1HilKeL0ON6rRkcuOPoDRNA2IaJvO2IchzKbHgcMW3oN4kiwG+7xOBYsOA7C4rNZfyF6NjntA3IwdU7aoERcnd8UcUkjMxgw1cyJfhx5ak/LWYGYXoquPSih6rXGd5cPtv8oik5u/AxL+r3fMF1k83ZlTSNSR4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307765; c=relaxed/simple; bh=OUjezu6YIiYoeJsh6lGMQhqkVSHLx345coLnThmoBTo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=B87cVAm30IHE2UwzPQTPaO/iCfBxWHj1g0WqsVUuPH2Ktitr1j2WKveX8A0sVJqwPs+Yynpab2x7U9WX+BYZpZn3Nsni22D6H/f7vqtzVQauisVItcpMCi23ONUVaPnxZM3kEtAlGXEC3LNBHwwYFVHFiea0m4EeA1h/zZVZEUs= 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: f0f875861df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:df6e7d37-4ee7-47ae-838e-26216254e6fd,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:06b8017193470c8601b0da3b70b68dc2,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: f0f875861df511f1a21c59e7364eecb8-20260312 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 1054376438; Thu, 12 Mar 2026 17:29:17 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 01/17] spi: axiado: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:28:53 +0800 Message-Id: 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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-axiado.c | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/drivers/spi/spi-axiado.c b/drivers/spi/spi-axiado.c index 8cea81432c5b..4ba8f0e6909f 100644 --- a/drivers/spi/spi-axiado.c +++ b/drivers/spi/spi-axiado.c @@ -770,32 +770,20 @@ static int ax_spi_probe(struct platform_device *pdev) goto remove_ctlr; } =20 - xspi->pclk =3D devm_clk_get(&pdev->dev, "pclk"); + xspi->pclk =3D devm_clk_get_enabled(&pdev->dev, "pclk"); if (IS_ERR(xspi->pclk)) { - dev_err(&pdev->dev, "pclk clock not found.\n"); + dev_err(&pdev->dev, "Unable to enable APB clock.\n"); ret =3D PTR_ERR(xspi->pclk); goto remove_ctlr; } =20 - xspi->ref_clk =3D devm_clk_get(&pdev->dev, "ref"); + xspi->ref_clk =3D devm_clk_get_enabled(&pdev->dev, "ref"); if (IS_ERR(xspi->ref_clk)) { - dev_err(&pdev->dev, "ref clock not found.\n"); + dev_err(&pdev->dev, "Unable to enable device clock.\n"); ret =3D PTR_ERR(xspi->ref_clk); goto remove_ctlr; } =20 - ret =3D clk_prepare_enable(xspi->pclk); - if (ret) { - dev_err(&pdev->dev, "Unable to enable APB clock.\n"); - goto remove_ctlr; - } - - ret =3D clk_prepare_enable(xspi->ref_clk); - if (ret) { - dev_err(&pdev->dev, "Unable to enable device clock.\n"); - goto clk_dis_apb; - } - pm_runtime_use_autosuspend(&pdev->dev); pm_runtime_set_autosuspend_delay(&pdev->dev, SPI_AUTOSUSPEND_TIMEOUT); pm_runtime_get_noresume(&pdev->dev); @@ -866,9 +854,6 @@ static int ax_spi_probe(struct platform_device *pdev) clk_dis_all: pm_runtime_set_suspended(&pdev->dev); pm_runtime_disable(&pdev->dev); - clk_disable_unprepare(xspi->ref_clk); -clk_dis_apb: - clk_disable_unprepare(xspi->pclk); remove_ctlr: spi_controller_put(ctlr); return ret; --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 41D963B584E; Thu, 12 Mar 2026 09:29:25 +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=1773307769; cv=none; b=D5NFZy1Dz0jatPOQHeb+c2ThYQmqEaWBC85fs4jrzdRp/6XLhAqxrryeIdCwN1K+UlDEe1uAPdsf3ZDyjQv/kSqEL/3JteJpIRhwklJVi0WPds6WPvPd7qrz/qVAe3K5j5Cw6vhXa5pGrlvcqAhBwhTmIrBfmYYnuDSPHfv0Ym0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307769; c=relaxed/simple; bh=XIVT0r2GJCsvjRw74BKgnXHXhN5ESbxwi1/JohOcCik=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=RgTL0ikvBTz7Sgtq+iUT/F4JD4sGE7R0R6JyfLvdze6wxyib/vPUWk8K3/blPV+q7T+ec1pzo6giG0XXQUUnyOgx7Bdzv0YJBPmLVbA7n/jpTGv080fbGmCQeXK35jrF0cj8xjoMbgmjjC+QtXnIk0Nj4pBWnrH09WX1KAIGwPk= 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: f1f707541df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:6fcc4f1c-14c9-4cf4-8aa9-59a6b6b26187,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:9b9ce31f68ec8156caa4929c046ab439,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: f1f707541df511f1a21c59e7364eecb8-20260312 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 1623409013; Thu, 12 Mar 2026 17:29:18 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 02/17] spi: bcm63xx-hsspi: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:28:54 +0800 Message-Id: <9391f0c3a62e698e66a4b6630ae10b329faf3c11.1773306858.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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-bcm63xx-hsspi.c | 44 +++++++++------------------------ 1 file changed, 12 insertions(+), 32 deletions(-) diff --git a/drivers/spi/spi-bcm63xx-hsspi.c b/drivers/spi/spi-bcm63xx-hssp= i.c index 612f8802e690..7449e582e8c8 100644 --- a/drivers/spi/spi-bcm63xx-hsspi.c +++ b/drivers/spi/spi-bcm63xx-hsspi.c @@ -758,8 +758,7 @@ static int bcm63xx_hsspi_probe(struct platform_device *= pdev) if (IS_ERR(regs)) return PTR_ERR(regs); =20 - clk =3D devm_clk_get(dev, "hsspi"); - + clk =3D devm_clk_get_enabled(dev, "hsspi"); if (IS_ERR(clk)) return PTR_ERR(clk); =20 @@ -767,41 +766,26 @@ static int bcm63xx_hsspi_probe(struct platform_device= *pdev) if (IS_ERR(reset)) return PTR_ERR(reset); =20 - ret =3D clk_prepare_enable(clk); - if (ret) - return ret; - ret =3D reset_control_reset(reset); - if (ret) { - dev_err(dev, "unable to reset device: %d\n", ret); - goto out_disable_clk; - } + if (ret) + return dev_err_probe(dev, ret, "unable to reset device: %d\n", ret); =20 rate =3D clk_get_rate(clk); if (!rate) { - pll_clk =3D devm_clk_get(dev, "pll"); - - if (IS_ERR(pll_clk)) { - ret =3D PTR_ERR(pll_clk); - goto out_disable_clk; - } - - ret =3D clk_prepare_enable(pll_clk); - if (ret) - goto out_disable_clk; + pll_clk =3D devm_clk_get_enabled(dev, "pll"); + if (IS_ERR(pll_clk)) + return dev_err_probe(dev, PTR_ERR(pll_clk), "failed + enable pll clk\n"); =20 rate =3D clk_get_rate(pll_clk); - if (!rate) { - ret =3D -EINVAL; - goto out_disable_pll_clk; - } + if (!rate) + return dev_err_probe(dev, -EINVAL, "failed get pll + clk rate\n"); } =20 host =3D spi_alloc_host(&pdev->dev, sizeof(*bs)); - if (!host) { - ret =3D -ENOMEM; - goto out_disable_pll_clk; - } + if (!host) + return dev_err_probe(dev, -ENOMEM, "no mem\n"); =20 bs =3D spi_controller_get_devdata(host); bs->pdev =3D pdev; @@ -887,10 +871,6 @@ static int bcm63xx_hsspi_probe(struct platform_device = *pdev) pm_runtime_disable(&pdev->dev); out_put_host: spi_controller_put(host); -out_disable_pll_clk: - clk_disable_unprepare(pll_clk); -out_disable_clk: - clk_disable_unprepare(clk); return ret; } =20 --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 2EF3D3B6C1C; Thu, 12 Mar 2026 09:29: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=1773307767; cv=none; b=dsVNt0bBulmsa8V53I5PAGzHbdukONJdYILIVP980Q+fuJ00bBHaTpV6KtJoxnajQpwMda8RnGBl39HUKGT3qqE0b7adTIxLf67ipuPiAnUnvDmMscRFNzAyG4O6zG/uUyHibGkqdtngC8McjGHWfj49Z+KWnIfU6o6FG/amLRQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307767; c=relaxed/simple; bh=IfoeA6FedpeBRUjIGtCriIOs/Pt47N0e1ZtnZ3NuT4A=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=EAua2NGols5TQX1aZZv3rCeA04I/7cDbQuSyKihdR256gpr+rGe15/by483scthZ+q2W4KUQ7nMsgzvlJupuLclQW+F5bKBQyIGCuupTUkjnu2fL2anD1EjR8cfqbODF8n4NJEkWYw3S1c/NDoEA4mTS7osefeuuH7D3Q601Fuc= 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: f31692f81df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:5c7d72ec-6917-4184-a30d-799bb4b7a730,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:8f1d373fe3b520d8e6249f0ae27cb419,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: f31692f81df511f1a21c59e7364eecb8-20260312 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 502394402; Thu, 12 Mar 2026 17:29:20 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 03/17] spi: bcmbca-hsspi: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:28:55 +0800 Message-Id: <6e9e73c6001daf6641f1a3424c8e14633511d77f.1773306858.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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-bcmbca-hsspi.c | 47 ++++++++++++---------------------- 1 file changed, 16 insertions(+), 31 deletions(-) diff --git a/drivers/spi/spi-bcmbca-hsspi.c b/drivers/spi/spi-bcmbca-hsspi.c index ece22260f570..08d12606e91d 100644 --- a/drivers/spi/spi-bcmbca-hsspi.c +++ b/drivers/spi/spi-bcmbca-hsspi.c @@ -452,39 +452,30 @@ static int bcmbca_hsspi_probe(struct platform_device = *pdev) if (IS_ERR(spim_ctrl)) return PTR_ERR(spim_ctrl); =20 - clk =3D devm_clk_get(dev, "hsspi"); + clk =3D devm_clk_get_enabled(dev, "hsspi"); if (IS_ERR(clk)) - return PTR_ERR(clk); - - ret =3D clk_prepare_enable(clk); - if (ret) - return ret; + return dev_err_probe(dev, PTR_ERR(clk), + "Failed to get hsspi clock\n"); =20 rate =3D clk_get_rate(clk); if (!rate) { - pll_clk =3D devm_clk_get(dev, "pll"); + pll_clk =3D devm_clk_get_enabled(dev, "pll"); =20 if (IS_ERR(pll_clk)) { - ret =3D PTR_ERR(pll_clk); - goto out_disable_clk; + return dev_err_probe(dev, PTR_ERR(pll_clk), + "Failed to get pll clock\n"); } =20 - ret =3D clk_prepare_enable(pll_clk); - if (ret) - goto out_disable_clk; - rate =3D clk_get_rate(pll_clk); - if (!rate) { - ret =3D -EINVAL; - goto out_disable_pll_clk; - } + if (!rate) + return dev_err_probe(dev, -EINVAL, + "Failed to get pll clock rate\n"); } =20 host =3D devm_spi_alloc_host(&pdev->dev, sizeof(*bs)); - if (!host) { - ret =3D -ENOMEM; - goto out_disable_pll_clk; - } + if (!host) + return dev_err_probe(dev, -ENOMEM, + "Failed alloc spi host\n"); =20 bs =3D spi_controller_get_devdata(host); bs->pdev =3D pdev; @@ -535,18 +526,16 @@ static int bcmbca_hsspi_probe(struct platform_device = *pdev) ret =3D devm_request_irq(dev, irq, bcmbca_hsspi_interrupt, IRQF_SHARED, pdev->name, bs); if (ret) - goto out_disable_pll_clk; + return dev_err_probe(dev, ret, "Failed request irq\n"); } =20 ret =3D devm_pm_runtime_enable(&pdev->dev); if (ret) - goto out_disable_pll_clk; + return dev_err_probe(dev, ret, "Failed pm runtime enable\n"); =20 ret =3D sysfs_create_group(&pdev->dev.kobj, &bcmbca_hsspi_group); - if (ret) { - dev_err(&pdev->dev, "couldn't register sysfs group\n"); - goto out_disable_pll_clk; - } + if (ret) + return dev_err_probe(dev, ret, "couldn't register sysfs group\n"); =20 /* register and we are done */ ret =3D devm_spi_register_controller(dev, host); @@ -559,10 +548,6 @@ static int bcmbca_hsspi_probe(struct platform_device *= pdev) =20 out_sysgroup_disable: sysfs_remove_group(&pdev->dev.kobj, &bcmbca_hsspi_group); -out_disable_pll_clk: - clk_disable_unprepare(pll_clk); -out_disable_clk: - clk_disable_unprepare(clk); return ret; } =20 --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 AA6043B892E; Thu, 12 Mar 2026 09:29:31 +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=1773307775; cv=none; b=bmeo5IifWJnXBo6Foa2cB5k3S0OlupCKQzJNOzy40elskFIvUKuhVzyWGHGJcBFMB0gToXCe51BItT/P9MZr6haLZ7h2Lw/xyAYdCjGhP0voEQDa3UrP4oJcPWLrapA2/ri5fp7Ob/CmjM+tidOIcmXPCmr+ydaqoer7UiITVPU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307775; c=relaxed/simple; bh=AIo/n6yPsVR868Rq/k9w/ggT90lG0bfRj1Rx32Cimg8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=AF4mNkoLBjOlBqE2TILMVUlYEKD2IQqUGAqd64wOHgbkIreR8T35T0aszp3ejM8UeXLlS6kwlo6qWfx0bb/+VdY8CHGnv3y9coW9jW3RI4wbKZU+5V/DYeqZl6NL/mneeCTbblI1kwxjJuEP6/GjRS0UlsLEVrk6o1HPqBjsNd0= 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: f3e56b281df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:30aaff68-b3a0-4a6c-b7ec-9b19efc51e2d,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:3e4443aa1e61333fe56bff94d6c99248,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: f3e56b281df511f1a21c59e7364eecb8-20260312 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 649171632; Thu, 12 Mar 2026 17:29:22 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 04/17] spi: img-spfi: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:28:56 +0800 Message-Id: <6891014954a8c121347dbd517b585d5a903e8da4.1773306858.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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-img-spfi.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/drivers/spi/spi-img-spfi.c b/drivers/spi/spi-img-spfi.c index 902fb64815c9..a227cff5da70 100644 --- a/drivers/spi/spi-img-spfi.c +++ b/drivers/spi/spi-img-spfi.c @@ -557,24 +557,17 @@ static int img_spfi_probe(struct platform_device *pde= v) if (ret) goto put_spi; =20 - spfi->sys_clk =3D devm_clk_get(spfi->dev, "sys"); + spfi->sys_clk =3D devm_clk_get_enabled(spfi->dev, "sys"); if (IS_ERR(spfi->sys_clk)) { ret =3D PTR_ERR(spfi->sys_clk); goto put_spi; } - spfi->spfi_clk =3D devm_clk_get(spfi->dev, "spfi"); + spfi->spfi_clk =3D devm_clk_get_enabled(spfi->dev, "spfi"); if (IS_ERR(spfi->spfi_clk)) { ret =3D PTR_ERR(spfi->spfi_clk); goto put_spi; } =20 - ret =3D clk_prepare_enable(spfi->sys_clk); - if (ret) - goto put_spi; - ret =3D clk_prepare_enable(spfi->spfi_clk); - if (ret) - goto disable_pclk; - spfi_reset(spfi); /* * Only enable the error (IACCESS) interrupt. In PIO mode we'll @@ -655,9 +648,6 @@ static int img_spfi_probe(struct platform_device *pdev) dma_release_channel(spfi->rx_ch); if (spfi->tx_ch) dma_release_channel(spfi->tx_ch); - clk_disable_unprepare(spfi->spfi_clk); -disable_pclk: - clk_disable_unprepare(spfi->sys_clk); put_spi: spi_controller_put(host); =20 --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 C9E883B6353; Thu, 12 Mar 2026 09:29:30 +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=1773307775; cv=none; b=JS7JldEbDKgV1LNxcttgsJnRVv7ZWSFWYlN77qZkLzdb6v3fNdsDqhAaGhBPCf8I+tjUNO5XLqFKhEAFogO5ZJ2+2kpboTHvuCr4wAcfoLRSgzxjA4jcB67FbZEL3H5G2wgS1Ba5Rr2oJDoRizgAQYJlgkF9DRq6zhs/dtLxJ2w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307775; c=relaxed/simple; bh=Y5piE1nBnd7tD4C3JSkJbXg8bUIcLfzWqCneIBW2R2c=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=eojlD24rYqZL56/ayqQqM7aMQoffk+dtRbcVVRSmTBC3rmWnRFcPGmSpyYRwpshtNk0R15FgHFgCfyodKKY6pgZkVFbfaBSG2TEkIuCceQqoNt35x8rVPoEcQXI8VzjjcEFvRcFC9H9SoY+laigjiUrbMJYgvp4Kuy7iRvzCZnY= 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: f42239861df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:3ffd90e8-3243-44fd-abc9-c5b641c19cb0,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:ba63033be8ced6db1a98bea9c89ed7a7,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: f42239861df511f1a21c59e7364eecb8-20260312 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 1651847109; Thu, 12 Mar 2026 17:29:22 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 05/17] spi: imx: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:28:57 +0800 Message-Id: <8d348c0e1a91e25697c82553fa19f89f0c4a70dd.1773306858.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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- 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 From nobody Tue Apr 7 17:51:52 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 D28AD3B775C; Thu, 12 Mar 2026 09:29:28 +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=1773307772; cv=none; b=dt5JFMe2VPP5LSKa+tpjqO9Azeb8FK/W8uPjMStgpy1P4JakLO3cfEbMTz/ExSUPdeusUrKWCGiw9d2ada9QOOIlllpWuEeHc6wWdeWf/9gyH63WYgsNct/IYKfssmcwdC497NiiDT4HyYcgWzolN7tvuK0eTxIDLqxoYNTUI0I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307772; c=relaxed/simple; bh=vbl0qrYFfbb6vSHg13lghzQ3RiRGsv9ys2oRWeiS/xs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=oyxnHc3vrGA1Hgu6MHxHy7AxTgVSqwfkNq5NgNieU2O99qwREzLqCyv7mvoUuCp0etxMZArXLjeAhAIL5EI9DUkuDOlqKrDG/ReUW/n3h6Lt9+oZWbshqcOun24TPE5rNDffwZIWE4Li/5POpNU1HYVtd7k3Vj3Qo/mAnO5e4vM= 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: f45f256c1df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:4c02d704-ca6f-4871-95b2-ea056b94ca06,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:a07c265c81ec8ea205be13609e15f68e,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: f45f256c1df511f1a21c59e7364eecb8-20260312 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 1485123681; Thu, 12 Mar 2026 17:29:22 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 06/17] spi: npcm-pspi: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:28:58 +0800 Message-Id: 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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-npcm-pspi.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/drivers/spi/spi-npcm-pspi.c b/drivers/spi/spi-npcm-pspi.c index e60b3cc398ec..99fa866f4efc 100644 --- a/drivers/spi/spi-npcm-pspi.c +++ b/drivers/spi/spi-npcm-pspi.c @@ -361,27 +361,23 @@ static int npcm_pspi_probe(struct platform_device *pd= ev) goto out_host_put; } =20 - priv->clk =3D devm_clk_get(&pdev->dev, NULL); + priv->clk =3D devm_clk_get_enabled(&pdev->dev, NULL); if (IS_ERR(priv->clk)) { - dev_err(&pdev->dev, "failed to get clock\n"); + dev_err(&pdev->dev, "failed to enable clock\n"); ret =3D PTR_ERR(priv->clk); goto out_host_put; } =20 - ret =3D clk_prepare_enable(priv->clk); - if (ret) - goto out_host_put; - irq =3D platform_get_irq(pdev, 0); if (irq < 0) { ret =3D irq; - goto out_disable_clk; + goto out_host_put; } =20 priv->reset =3D devm_reset_control_get(&pdev->dev, NULL); if (IS_ERR(priv->reset)) { ret =3D PTR_ERR(priv->reset); - goto out_disable_clk; + goto out_host_put; } =20 /* reset SPI-HW block */ @@ -391,7 +387,7 @@ static int npcm_pspi_probe(struct platform_device *pdev) "npcm-pspi", priv); if (ret) { dev_err(&pdev->dev, "failed to request IRQ\n"); - goto out_disable_clk; + goto out_host_put; } =20 init_completion(&priv->xfer_done); @@ -415,15 +411,12 @@ static int npcm_pspi_probe(struct platform_device *pd= ev) =20 ret =3D devm_spi_register_controller(&pdev->dev, host); if (ret) - goto out_disable_clk; + goto out_host_put; =20 pr_info("NPCM Peripheral SPI %d probed\n", host->bus_num); =20 return 0; =20 -out_disable_clk: - clk_disable_unprepare(priv->clk); - out_host_put: spi_controller_put(host); return ret; --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 B53913B7B8D; Thu, 12 Mar 2026 09:29:30 +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=1773307775; cv=none; b=X75V7q9yfwjulezZpig+AvBDx/4zJJaAeh21Me/Su4GNlUZ2zsvyaitCwFr0M9fI+bC4ECeBdvrGmyssdTQI8prnpNnbPXcHwa0PtMKk5GIduGpAV/g7CctgGOm9VJwZw7Ebeg40toLFtH19VU5s/c6uTO90KxEDPT5ZOCCLWSU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307775; c=relaxed/simple; bh=T5TgjL/ZKrm48amiQPdTc+mvXKfItqx4T7Eg5BtefaM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=mb3Xa7RHqBzjDmmq+BewmgTKQVTuSeiPxgJe4n4zeyPeaYMyRF2I4KsE67C4eu5tp4dyoo+xG0hQE+AtEoaMwLTAK+bOLQBETLgS88cS+id3UfovexLyqpXKSCeHEdB3UaTV4TBgj5MNEXDD/2gTf2284559gn0J48rMPyKcdUc= 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: f49b92681df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:2fe5b656-a225-460c-b577-f0f620724224,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:de44af828e0c954745c20e0c747ffeae,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: f49b92681df511f1a21c59e7364eecb8-20260312 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 2090608558; Thu, 12 Mar 2026 17:29:23 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 07/17] spi: orion: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:28:59 +0800 Message-Id: <86cc535180de048da7d9c0aaafa246b7c16a4d89.1773306858.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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-orion.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/spi/spi-orion.c b/drivers/spi/spi-orion.c index 7a2186b51b4c..69e41421dc88 100644 --- a/drivers/spi/spi-orion.c +++ b/drivers/spi/spi-orion.c @@ -695,13 +695,11 @@ static int orion_spi_probe(struct platform_device *pd= ev) } =20 /* The following clock is only used by some SoCs */ - spi->axi_clk =3D devm_clk_get(&pdev->dev, "axi"); + spi->axi_clk =3D devm_clk_get_enabled(&pdev->dev, "axi"); if (PTR_ERR(spi->axi_clk) =3D=3D -EPROBE_DEFER) { status =3D -EPROBE_DEFER; goto out; } - if (!IS_ERR(spi->axi_clk)) - clk_prepare_enable(spi->axi_clk); =20 tclk_hz =3D clk_get_rate(spi->clk); =20 @@ -726,7 +724,7 @@ static int orion_spi_probe(struct platform_device *pdev) spi->base =3D devm_platform_get_and_ioremap_resource(pdev, 0, &r); if (IS_ERR(spi->base)) { status =3D PTR_ERR(spi->base); - goto out_rel_axi_clk; + goto out; } =20 for_each_available_child_of_node(pdev->dev.of_node, np) { @@ -764,7 +762,7 @@ static int orion_spi_probe(struct platform_device *pdev) if (!dir_acc->vaddr) { status =3D -ENOMEM; of_node_put(np); - goto out_rel_axi_clk; + goto out; } dir_acc->size =3D PAGE_SIZE; =20 @@ -788,8 +786,6 @@ static int orion_spi_probe(struct platform_device *pdev) =20 out_rel_pm: pm_runtime_disable(&pdev->dev); -out_rel_axi_clk: - clk_disable_unprepare(spi->axi_clk); out: spi_controller_put(host); return status; --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 D743B3B52F1; Thu, 12 Mar 2026 09:29:27 +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=1773307772; cv=none; b=sgWMPE+V/lLinPYKRNmDBvOsDd4mI3Jh7J/4RDJSYxgZCcSfveatrSkb3NYu2GgoFzQpJ470cvBlSylJesq1DDdj9njK9o1HeAaKGrm2PkSNpyxZN9l3ZVfKOQ2HnlrXH736uX/6Pl6LECug2zREgDwEpYiGjfKd5f67+LnWj/E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307772; c=relaxed/simple; bh=4v7pXovmm0Civb2RYM3wCdGGjbLZTXRoHwnXU9W1MYU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=G6sgjpTrL50AKfbPsk8gD9Ir2isBrQ8AVu6mey+8Ws/9uXti/EO9N/58zY41LnIZdTi/n1nTXXtUKBdYO9pfyK6PEo8niisFpQxbaTean0Y5A04GtwzUhMIO4/TWvaaizGYOEkz5PioOQUujYpVPOwokmNDOwVkgBsv3qscfNcM= 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: f4d7f6ea1df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:86122cdc-4e3b-4c56-8beb-69567d3c02e4,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:65d25d98902aa6b10b27344a104445b0,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: f4d7f6ea1df511f1a21c59e7364eecb8-20260312 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 1164667852; Thu, 12 Mar 2026 17:29:23 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 08/17] spi: rockchip-sfc: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:29:00 +0800 Message-Id: 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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-rockchip-sfc.c | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/drivers/spi/spi-rockchip-sfc.c b/drivers/spi/spi-rockchip-sfc.c index 174995042f53..ef6956f2c918 100644 --- a/drivers/spi/spi-rockchip-sfc.c +++ b/drivers/spi/spi-rockchip-sfc.c @@ -635,13 +635,13 @@ static int rockchip_sfc_probe(struct platform_device = *pdev) return PTR_ERR(sfc->regbase); =20 if (!has_acpi_companion(&pdev->dev)) - sfc->clk =3D devm_clk_get(&pdev->dev, "clk_sfc"); + sfc->clk =3D devm_clk_get_enabled(&pdev->dev, "clk_sfc"); if (IS_ERR(sfc->clk)) return dev_err_probe(&pdev->dev, PTR_ERR(sfc->clk), "Failed to get sfc interface clk\n"); =20 if (!has_acpi_companion(&pdev->dev)) - sfc->hclk =3D devm_clk_get(&pdev->dev, "hclk_sfc"); + sfc->hclk =3D devm_clk_get_enabled(&pdev->dev, "hclk_sfc"); if (IS_ERR(sfc->hclk)) return dev_err_probe(&pdev->dev, PTR_ERR(sfc->hclk), "Failed to get sfc ahb clk\n"); @@ -657,18 +657,6 @@ static int rockchip_sfc_probe(struct platform_device *= pdev) =20 sfc->use_dma =3D !of_property_read_bool(sfc->dev->of_node, "rockchip,sfc-= no-dma"); =20 - ret =3D clk_prepare_enable(sfc->hclk); - if (ret) { - dev_err(&pdev->dev, "Failed to enable ahb clk\n"); - goto err_hclk; - } - - ret =3D clk_prepare_enable(sfc->clk); - if (ret) { - dev_err(&pdev->dev, "Failed to enable interface clk\n"); - goto err_clk; - } - /* Find the irq */ ret =3D platform_get_irq(pdev, 0); if (ret < 0) @@ -730,10 +718,6 @@ static int rockchip_sfc_probe(struct platform_device *= pdev) pm_runtime_set_suspended(dev); pm_runtime_dont_use_autosuspend(dev); err_irq: - clk_disable_unprepare(sfc->clk); -err_clk: - clk_disable_unprepare(sfc->hclk); -err_hclk: return ret; } =20 --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 AA6993B8932; Thu, 12 Mar 2026 09:29:32 +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=1773307774; cv=none; b=dhNz6/p+VWOSTo9EYbF6auV/7hqn/uUKvCBxcURzlB79Fjs3utW5Dnks/fyBirnscEatEXs18LCVh1KWUCMOHnr13qVLzV7OOMXD8XIBhbXQOjp29SJ7VvapfCOZtEXOk8y3QbpeXiH9DZMeQmA9gsbZ51KZoCg4+hhcB3wMinY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307774; c=relaxed/simple; bh=0PtoNufzs2+5WkV5SymyU+xEyvCMfXYRJZb9UpGBNlk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=LzA6tEN0aedmt3/inPeV/I2J89fUchXCQ/4jrQt/hbynvmJO/uo+rB0ysCwZoFBJs6RYL8D5r7b76D0Z96AsP5Zbf/jm90ZJhTZ/TahmgoLf2QhDbFhFx+MHnUzDdxKATsLJHrWxF+urqC1HNDs1+Jx+KKRI0iaeWeiRNkx5wsU= 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: f514a7f21df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:932196c6-0657-4596-a8d4-a8da54fea299,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:95699a694311f16d87e9c783ffba0d81,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: f514a7f21df511f1a21c59e7364eecb8-20260312 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 579549120; Thu, 12 Mar 2026 17:29:24 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 09/17] spi: sifive: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:29:01 +0800 Message-Id: <2d35b51869fee4d537e414c711f590adc5b4d847.1773306858.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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-sifive.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/drivers/spi/spi-sifive.c b/drivers/spi/spi-sifive.c index 6c7aba8befa0..3d45105f2e41 100644 --- a/drivers/spi/spi-sifive.c +++ b/drivers/spi/spi-sifive.c @@ -312,7 +312,8 @@ static int sifive_spi_probe(struct platform_device *pde= v) goto put_host; } =20 - spi->clk =3D devm_clk_get(&pdev->dev, NULL); + /* Spin up the bus clock before hitting registers */ + spi->clk =3D devm_clk_get_enabled(&pdev->dev, NULL); if (IS_ERR(spi->clk)) { dev_err(&pdev->dev, "Unable to find bus clock\n"); ret =3D PTR_ERR(spi->clk); @@ -342,13 +343,6 @@ static int sifive_spi_probe(struct platform_device *pd= ev) goto put_host; } =20 - /* Spin up the bus clock before hitting registers */ - ret =3D clk_prepare_enable(spi->clk); - if (ret) { - dev_err(&pdev->dev, "Unable to enable bus clock\n"); - goto put_host; - } - /* probe the number of CS lines */ spi->cs_inactive =3D sifive_spi_read(spi, SIFIVE_SPI_REG_CSDEF); sifive_spi_write(spi, SIFIVE_SPI_REG_CSDEF, 0xffffffffU); @@ -357,14 +351,14 @@ static int sifive_spi_probe(struct platform_device *p= dev) if (!cs_bits) { dev_err(&pdev->dev, "Could not auto probe CS lines\n"); ret =3D -EINVAL; - goto disable_clk; + goto put_host; } =20 num_cs =3D ilog2(cs_bits) + 1; if (num_cs > SIFIVE_SPI_MAX_CS) { dev_err(&pdev->dev, "Invalid number of spi targets\n"); ret =3D -EINVAL; - goto disable_clk; + goto put_host; } =20 /* Define our host */ @@ -392,7 +386,7 @@ static int sifive_spi_probe(struct platform_device *pde= v) dev_name(&pdev->dev), spi); if (ret) { dev_err(&pdev->dev, "Unable to bind to interrupt\n"); - goto disable_clk; + goto put_host; } =20 dev_info(&pdev->dev, "mapped; irq=3D%d, cs=3D%d\n", @@ -401,13 +395,11 @@ static int sifive_spi_probe(struct platform_device *p= dev) ret =3D devm_spi_register_controller(&pdev->dev, host); if (ret < 0) { dev_err(&pdev->dev, "spi_register_host failed\n"); - goto disable_clk; + goto put_host; } =20 return 0; =20 -disable_clk: - clk_disable_unprepare(spi->clk); put_host: spi_controller_put(host); =20 --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 A42483B4EB5; Thu, 12 Mar 2026 09:29:30 +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=1773307772; cv=none; b=E5iaVVSSmGNI7qkz3tZq94APAxkRfoB+zWiuz5D6ZCgei7bO4GGidWTu3byv9bEvqTLvIA5QwbxFzkvAch5yiodkYXzYGejXFgTZYXQS7rRkuwN2zvHmU9S7K65qISb7v8l23CvNecoWhYboFGmBC0EDx6enAsgI3i/7VhfWbSg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307772; c=relaxed/simple; bh=LyKS2UfKEPAlA7qoBJVDK8YAcSdArV81Ct/JwFiFDUU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=uKo/cq+GAYFJt0Sq9RWMxqGpw6rRY7WtmDhuEFfCQjhqD5tEWsCAamUUGj0EUIh6okjN/J21gJJmsPi8lfHWWxZ9Ih3zkhQW9QINNS/WBW0RiqgCx708DhgXbMjmdK7M5nvBKKjnWqlwjfcQ8XdkcZolldzljES48k2f46YY8Yw= 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: f55219a21df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:c2c43a03-6447-42b8-b072-71d50f7845ae,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:67f1a4f02718a90d4aececef4621e56a,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: f55219a21df511f1a21c59e7364eecb8-20260312 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 99332158; Thu, 12 Mar 2026 17:29:24 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 10/17] spi: slave-mt27xx: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:29:02 +0800 Message-Id: <24ac0d6d499559f6cfe8b35e048ccb9be8bc73ee.1773306858.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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-slave-mt27xx.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/spi/spi-slave-mt27xx.c b/drivers/spi/spi-slave-mt27xx.c index ce889cb33228..8ec886918165 100644 --- a/drivers/spi/spi-slave-mt27xx.c +++ b/drivers/spi/spi-slave-mt27xx.c @@ -438,19 +438,13 @@ static int mtk_spi_slave_probe(struct platform_device= *pdev) goto err_put_ctlr; } =20 - mdata->spi_clk =3D devm_clk_get(&pdev->dev, "spi"); + mdata->spi_clk =3D devm_clk_get_enabled(&pdev->dev, "spi"); if (IS_ERR(mdata->spi_clk)) { ret =3D PTR_ERR(mdata->spi_clk); dev_err(&pdev->dev, "failed to get spi-clk: %d\n", ret); goto err_put_ctlr; } =20 - ret =3D clk_prepare_enable(mdata->spi_clk); - if (ret < 0) { - dev_err(&pdev->dev, "failed to enable spi_clk (%d)\n", ret); - goto err_put_ctlr; - } - pm_runtime_enable(&pdev->dev); =20 ret =3D devm_spi_register_controller(&pdev->dev, ctlr); --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 8309A3B7B6C; Thu, 12 Mar 2026 09:29:32 +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=1773307776; cv=none; b=PedqwfQqlSFDhoRN4synzGIyMHBk71SBi7mSbwqkf6bpN1cQk0d1qvrNoa7oCUmzZz2ERgkBX3a3mjWuz3c42W9ByfTMl8lGe1ehSwkRdHo+EhP/kxw9TjZWbnsCTA950D390i13BtiLzya1UOPht0IKXkINgRCMBpE0MWlSsvc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307776; c=relaxed/simple; bh=glXnnLq+H0IQeUDKGYfZeG9/mHtAWfFZpMbDvF6QREo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=TQh9phEKaAeXQ9sgNcHZ4aO3u77Dn3eUsKkPLHmUr96hoWuf6uDPwg0MKk6DjeMmbw014Qizo5HsRaZE0V2amh1VVlQfeLTl98AFPKdpUh5JpOnTTA8WqWtdrTW4RD3Vm6DIdGK7kAQe3IshcTK5kittDY7isLQVfnxndSe9+Nk= 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: f58eb88a1df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:62a21c0e-b7f8-47da-bd51-ef8e06fb52a3,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:514faac31fe6ac7ef71777732f79c088,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: f58eb88a1df511f1a21c59e7364eecb8-20260312 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 702058777; Thu, 12 Mar 2026 17:29:24 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 11/17] spi: st: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:29:03 +0800 Message-Id: <3c7a2fde331aa2653bf1a5876d4bd72771709349.1773306858.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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-st-ssc4.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/spi/spi-st-ssc4.c b/drivers/spi/spi-st-ssc4.c index b173ef70d77e..e7237082abbc 100644 --- a/drivers/spi/spi-st-ssc4.c +++ b/drivers/spi/spi-st-ssc4.c @@ -293,24 +293,20 @@ static int spi_st_probe(struct platform_device *pdev) host->use_gpio_descriptors =3D true; spi_st =3D spi_controller_get_devdata(host); =20 - spi_st->clk =3D devm_clk_get(&pdev->dev, "ssc"); + spi_st->clk =3D devm_clk_get_enabled(&pdev->dev, "ssc"); if (IS_ERR(spi_st->clk)) { dev_err(&pdev->dev, "Unable to request clock\n"); ret =3D PTR_ERR(spi_st->clk); goto put_host; } =20 - ret =3D clk_prepare_enable(spi_st->clk); - if (ret) - goto put_host; - init_completion(&spi_st->done); =20 /* Get resources */ spi_st->base =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(spi_st->base)) { ret =3D PTR_ERR(spi_st->base); - goto clk_disable; + goto put_host; } =20 /* Disable I2C and Reset SSC */ @@ -333,14 +329,14 @@ static int spi_st_probe(struct platform_device *pdev) if (!irq) { dev_err(&pdev->dev, "IRQ missing or invalid\n"); ret =3D -EINVAL; - goto clk_disable; + goto put_host; } =20 ret =3D devm_request_irq(&pdev->dev, irq, spi_st_irq, 0, pdev->name, spi_st); if (ret) { dev_err(&pdev->dev, "Failed to request irq %d\n", irq); - goto clk_disable; + goto put_host; } =20 /* by default the device is on */ @@ -359,8 +355,6 @@ static int spi_st_probe(struct platform_device *pdev) =20 rpm_disable: pm_runtime_disable(&pdev->dev); -clk_disable: - clk_disable_unprepare(spi_st->clk); put_host: spi_controller_put(host); return ret; --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 B000B3B7771; Thu, 12 Mar 2026 09:29:33 +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=1773307776; cv=none; b=scQu3rgpJVRv/0uzZITCYj9AXo9cVM9G7EimN0Oyeer9/rLK3HPN7FEz/9NlB3IMlkRgIY9JUBMgmmjO7oGiWwhdudFJDsKzXrPunEtBrg4npQe+5ZUrn9z2fehmaUbkDZSlTeNm0ue2O5Y7uMNoeXKhaW6D0Oh2IvLvLqsrpW4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307776; c=relaxed/simple; bh=dKBnh8sJQftJQFNU1M/dsyI1ASCji+nDI1LiBDmOXwg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=dqCMNIQKhFYnc53TV+pEkAjeB7CXVdQIL6gq6TIIKHso9ulyTDkc2+zHTIIjiizLr903rQPsOtI+2bS9hELiox57/BxgYrTfsRkViRmTUZqYMZ9wik9UKgdLtuANulWxHHe7BS8xioz15HFxlaP/P38fyMjcPnc9MujB8gHqigo= 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: f5cc12a21df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:a2b8a1a1-cefa-402b-b829-8dd8840d76ed,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:93f75e2a15091fd5248aa60a82459e3d,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: f5cc12a21df511f1a21c59e7364eecb8-20260312 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 306095963; Thu, 12 Mar 2026 17:29:25 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 12/17] spi: stm32-qspi: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:29:04 +0800 Message-Id: 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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-stm32-qspi.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/drivers/spi/spi-stm32-qspi.c b/drivers/spi/spi-stm32-qspi.c index df1bbacec90a..9ff9975edef4 100644 --- a/drivers/spi/spi-stm32-qspi.c +++ b/drivers/spi/spi-stm32-qspi.c @@ -819,25 +819,19 @@ static int stm32_qspi_probe(struct platform_device *p= dev) =20 init_completion(&qspi->match_completion); =20 - qspi->clk =3D devm_clk_get(dev, NULL); + qspi->clk =3D devm_clk_get_enabled(dev, NULL); if (IS_ERR(qspi->clk)) - return PTR_ERR(qspi->clk); - + return dev_err_probe(dev, PTR_ERR(qspi->clk), + "can not enable the clock\n"); qspi->clk_rate =3D clk_get_rate(qspi->clk); if (!qspi->clk_rate) return -EINVAL; =20 - ret =3D clk_prepare_enable(qspi->clk); - if (ret) { - dev_err(dev, "can not enable the clock\n"); - return ret; - } - rstc =3D devm_reset_control_get_exclusive(dev, NULL); if (IS_ERR(rstc)) { ret =3D PTR_ERR(rstc); if (ret =3D=3D -EPROBE_DEFER) - goto err_clk_disable; + goto err_defer; } else { reset_control_assert(rstc); udelay(2); @@ -886,8 +880,7 @@ static int stm32_qspi_probe(struct platform_device *pde= v) pm_runtime_dont_use_autosuspend(qspi->dev); err_dma_free: stm32_qspi_dma_free(qspi); -err_clk_disable: - clk_disable_unprepare(qspi->clk); +err_defer: =20 return ret; } --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 1B0653B9DA4; Thu, 12 Mar 2026 09:29:34 +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=1773307778; cv=none; b=cFvdksWEihUFfXhHpGbupiUagsxhixl4xXezSccvwWNczg0ZwtEi+jGizNY+1Zyf03V42nFSC8uSu8SIjK+hUvDi1zDlojnU67PARy15z4ULzosi1VJH9e/8BUTrD8aaHVq4l46UxoFZa16agr4h1oa8SnSLR+vUdWF3YeTP5Es= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307778; c=relaxed/simple; bh=VCB4M+lEmfXyT9206dMOaN6u6sF7wUrvWJCpVj+1YI8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=C84FFoWQOlVpsmIgAXzPWOIdD29WVn1Ze+WAZc5rgi9aw4zvHQhGHYAfhCMMQjrSwl2ia9vdwjI3ptSwD2MaKoOD3W/WwVMWbyqhj/rlrOwZRklgYhxm2b22m+frJzbnC0OW1JCUmglHOUpZClbgMpwNKrTvDpHMruLI+KVyqzc= 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: f60949f61df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:24b8e357-a0f3-444f-95de-e2dd910a74f7,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:77fcc3ae681b67b7ce53c0dd2c43748c,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: f60949f61df511f1a21c59e7364eecb8-20260312 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 59810514; Thu, 12 Mar 2026 17:29:25 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 13/17] spi: stm32: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:29:05 +0800 Message-Id: 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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-stm32.c | 59 +++++++++++++---------------------------- 1 file changed, 19 insertions(+), 40 deletions(-) diff --git a/drivers/spi/spi-stm32.c b/drivers/spi/spi-stm32.c index 8a7f5a10d4af..b347caeee0dc 100644 --- a/drivers/spi/spi-stm32.c +++ b/drivers/spi/spi-stm32.c @@ -2360,25 +2360,22 @@ static int stm32_spi_probe(struct platform_device *= pdev) int ret; =20 cfg =3D of_device_get_match_data(&pdev->dev); - if (!cfg) { - dev_err(&pdev->dev, "Failed to get match data for platform\n"); - return -ENODEV; - } + if (!cfg) + return dev_err_probe(&pdev->dev, -ENODEV, "Failed to get + match data for platform\n"); =20 device_mode =3D of_property_read_bool(np, "spi-slave"); - if (!cfg->has_device_mode && device_mode) { - dev_err(&pdev->dev, "spi-slave not supported\n"); - return -EPERM; - } + if (!cfg->has_device_mode && device_mode) + return dev_err_probe(&pdev->dev, -EPERM, "spi-slave not + supported\n"); =20 if (device_mode) ctrl =3D devm_spi_alloc_target(&pdev->dev, sizeof(struct stm32_spi)); else ctrl =3D devm_spi_alloc_host(&pdev->dev, sizeof(struct stm32_spi)); - if (!ctrl) { - dev_err(&pdev->dev, "spi controller allocation failed\n"); - return -ENOMEM; - } + if (!ctrl) + return dev_err_probe(&pdev->dev, -ENOMEM, "spi controller + allocation failed\n"); platform_set_drvdata(pdev, ctrl); =20 spi =3D spi_controller_get_devdata(ctrl); @@ -2409,32 +2406,19 @@ static int stm32_spi_probe(struct platform_device *= pdev) return ret; } =20 - spi->clk =3D devm_clk_get(&pdev->dev, NULL); - if (IS_ERR(spi->clk)) { - ret =3D PTR_ERR(spi->clk); - dev_err(&pdev->dev, "clk get failed: %d\n", ret); - return ret; - } + spi->clk =3D devm_clk_get_enabled(&pdev->dev, NULL); + if (IS_ERR(spi->clk)) + return dev_err_probe(&pdev->dev, PTR_ERR(spi->clk), "clk get failed: %d\= n", ret); =20 - ret =3D clk_prepare_enable(spi->clk); - if (ret) { - dev_err(&pdev->dev, "clk enable failed: %d\n", ret); - return ret; - } spi->clk_rate =3D clk_get_rate(spi->clk); - if (!spi->clk_rate) { - dev_err(&pdev->dev, "clk rate =3D 0\n"); - ret =3D -EINVAL; - goto err_clk_disable; - } + if (!spi->clk_rate) + return dev_err_probe(&pdev->dev, -EINVAL, "clk rate =3D 0\n"); =20 rst =3D devm_reset_control_get_optional_exclusive(&pdev->dev, NULL); if (rst) { - if (IS_ERR(rst)) { + if (IS_ERR(rst)) ret =3D dev_err_probe(&pdev->dev, PTR_ERR(rst), "failed to get reset\n"); - goto err_clk_disable; - } =20 reset_control_assert(rst); udelay(2); @@ -2461,11 +2445,9 @@ static int stm32_spi_probe(struct platform_device *p= dev) dev_dbg(spi->dev, "one message max size %d\n", spi->t_size_max); =20 ret =3D spi->cfg->config(spi); - if (ret) { - dev_err(&pdev->dev, "controller configuration failed: %d\n", - ret); - goto err_clk_disable; - } + if (ret) + return dev_err_probe(&pdev->dev, "controller configuration + failed: %d\n", ret); =20 ctrl->auto_runtime_pm =3D true; ctrl->bus_num =3D pdev->id; @@ -2490,8 +2472,7 @@ static int stm32_spi_probe(struct platform_device *pd= ev) dev_info(&pdev->dev, "tx dma disabled\n"); spi->dma_tx =3D NULL; } else { - dev_err_probe(&pdev->dev, ret, "failed to request tx dma channel\n"); - goto err_clk_disable; + return dev_err_probe(&pdev->dev, ret, "failed to request tx dma channel= \n"); } } else { ctrl->dma_tx =3D spi->dma_tx; @@ -2579,8 +2560,6 @@ static int stm32_spi_probe(struct platform_device *pd= ev) err_dma_tx_release: if (spi->dma_tx) dma_release_channel(spi->dma_tx); -err_clk_disable: - clk_disable_unprepare(spi->clk); =20 return ret; } --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 3E7063B8BA8; Thu, 12 Mar 2026 09:29:33 +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=1773307775; cv=none; b=Cr4wvLt7lZklAJm+MC2R89mAEHd+SX7pDre/UYw8gMGk131TVv6Z0Ar7Io/BMFXnmQZ7N5EdLLmvAJakVF+4MAo3R6u7J4vv4xIXf/saFlUJxEEwElj+zLp+xLeDCnnKrunkKPpU2LpVKt7z9KEdlRm66pYWBcH4VaHOy6Xpj34= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307775; c=relaxed/simple; bh=NUdzNnYut2dDDsf2VtQ8bEwkhmYI/mv6zl1cDkP+ugI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=hsTigy+uqgSpDV4C3gt44S5BB6u48c8wsu2RGLJBEB5k0zmL88+zYW7y2V/gBlJFWtVbIwIHubccy03U/owH4KR+zK5/+k0xWbLMOirZfZ++cvpsFLNNgDTjDNiCnAMmjh9yzCif67oPPbHu6rb67jTfKxSuFz4L3lI1CzJYaGU= 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: f646be621df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:f4d7e341-bd61-4127-ba7c-e946e958d0c3,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:171f10e37180db0ce32dd69488f4bca1,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: f646be621df511f1a21c59e7364eecb8-20260312 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 480705546; Thu, 12 Mar 2026 17:29:26 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 14/17] spi: sunplus-sp7021: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:29:06 +0800 Message-Id: <27c512cbd32d6a9ee083e36bbcd971dd242144a3.1773306858.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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-sunplus-sp7021.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/drivers/spi/spi-sunplus-sp7021.c b/drivers/spi/spi-sunplus-sp7= 021.c index 789b092fe8c0..35601212fb78 100644 --- a/drivers/spi/spi-sunplus-sp7021.c +++ b/drivers/spi/spi-sunplus-sp7021.c @@ -389,11 +389,6 @@ static int sp7021_spi_target_transfer_one(struct spi_c= ontroller *ctlr, struct sp return ret; } =20 -static void sp7021_spi_disable_unprepare(void *data) -{ - clk_disable_unprepare(data); -} - static void sp7021_spi_reset_control_assert(void *data) { reset_control_assert(data); @@ -460,7 +455,7 @@ static int sp7021_spi_controller_probe(struct platform_= device *pdev) if (pspim->s_irq < 0) return pspim->s_irq; =20 - pspim->spi_clk =3D devm_clk_get(dev, NULL); + pspim->spi_clk =3D devm_clk_get_enabled(dev, NULL); if (IS_ERR(pspim->spi_clk)) return dev_err_probe(dev, PTR_ERR(pspim->spi_clk), "clk get fail\n"); =20 @@ -468,14 +463,6 @@ static int sp7021_spi_controller_probe(struct platform= _device *pdev) if (IS_ERR(pspim->rstc)) return dev_err_probe(dev, PTR_ERR(pspim->rstc), "rst get fail\n"); =20 - ret =3D clk_prepare_enable(pspim->spi_clk); - if (ret) - return dev_err_probe(dev, ret, "failed to enable clk\n"); - - ret =3D devm_add_action_or_reset(dev, sp7021_spi_disable_unprepare, pspim= ->spi_clk); - if (ret) - return ret; - ret =3D reset_control_deassert(pspim->rstc); if (ret) return dev_err_probe(dev, ret, "failed to deassert reset\n"); --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 BACF73B9D8C; Thu, 12 Mar 2026 09:29:34 +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=1773307777; cv=none; b=n4f1qEydYK7/Fc6jze6Wh6srrOgd6caoCZqJk19xfuutcbxOWXk/yg2meunPbshRI0XT9zFdaz1b8vPRewbFcHgs5MtW0J12DWMRG4yDQM9vqgVn7N0c91oq0qOU4dnnsKphqaZix3OGaGWxHIm5sOUPCbhOsV75dhH23XnHPN8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307777; c=relaxed/simple; bh=joUDKgsgK5kDH7ag5+arjm/WCbXOAhOSPE2AcUgjp8M=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=X/UZO43VPEs4TBmZljfV/98Y9U08u1/hEaQJXqGswhY30JcTI01zYrahXAefkEd0vCE/2FDS0/WMfB6yY25S/rYHhp3EJyUguCAqf+KxpRDzDcTMzdfVQbzG/jICYQJ38QNxpHngvVJWTL4iVLB42npaNA3kmH7exP07TF1LAB0= 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: f6834a3a1df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:9e6c9770-690b-446c-bc5f-3be11f0c2ec7,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:0d303ad647b7ddb9282e207fe3025991,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: f6834a3a1df511f1a21c59e7364eecb8-20260312 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 955784157; Thu, 12 Mar 2026 17:29:26 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 15/17] spi: uniphier: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:29:07 +0800 Message-Id: <2546a537f213fedc7be14707ed6ca77fc1bbb1b8.1773306858.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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-uniphier.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/drivers/spi/spi-uniphier.c b/drivers/spi/spi-uniphier.c index 9e1d364a6198..f6fe5ab9f893 100644 --- a/drivers/spi/spi-uniphier.c +++ b/drivers/spi/spi-uniphier.c @@ -666,28 +666,24 @@ static int uniphier_spi_probe(struct platform_device = *pdev) } priv->base_dma_addr =3D res->start; =20 - priv->clk =3D devm_clk_get(&pdev->dev, NULL); + priv->clk =3D devm_clk_get_enabled(&pdev->dev, NULL); if (IS_ERR(priv->clk)) { dev_err(&pdev->dev, "failed to get clock\n"); ret =3D PTR_ERR(priv->clk); goto out_host_put; } =20 - ret =3D clk_prepare_enable(priv->clk); - if (ret) - goto out_host_put; - irq =3D platform_get_irq(pdev, 0); if (irq < 0) { ret =3D irq; - goto out_disable_clk; + goto out_host_put; } =20 ret =3D devm_request_irq(&pdev->dev, irq, uniphier_spi_handler, 0, "uniphier-spi", priv); if (ret) { dev_err(&pdev->dev, "failed to request IRQ\n"); - goto out_disable_clk; + goto out_host_put; } =20 init_completion(&priv->xfer_done); @@ -716,7 +712,7 @@ static int uniphier_spi_probe(struct platform_device *p= dev) if (IS_ERR_OR_NULL(host->dma_tx)) { if (PTR_ERR(host->dma_tx) =3D=3D -EPROBE_DEFER) { ret =3D -EPROBE_DEFER; - goto out_disable_clk; + goto out_host_put; } host->dma_tx =3D NULL; dma_tx_burst =3D INT_MAX; @@ -766,9 +762,6 @@ static int uniphier_spi_probe(struct platform_device *p= dev) host->dma_tx =3D NULL; } =20 -out_disable_clk: - clk_disable_unprepare(priv->clk); - out_host_put: spi_controller_put(host); return ret; --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 971963B7747; Thu, 12 Mar 2026 09:29:32 +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=1773307775; cv=none; b=s1UCIVhV8N3Y2+BrZk0yp+KsyM9wiXyyjyeSdTzOsYT+A75psWOnqzkWKphcPYVdr14O0BJOi+wGEPgcD+FsE+gJOqwsgxoOI8odcAwm6XwDw6tluziaDGhRUqyZYcXYhBYln+dkDAuRrx27qgXlUEtskCtZdG7iMMf9AKY/qKs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307775; c=relaxed/simple; bh=4ZfcPFPmwj9wKHiRm5M5YahNf/Uq/EKO9Ai3geWy5YQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=kbVx2/4Hwm2rQN/A+jODLhPn14fbImLuuFPshI3dDSYIdbPu9s+12XRtgcAcYtg9yl338JXdXKyyZiw1ypUCyuDR4mMjreguSupG18FzS2ZiZxmyCX6QC+1zGCCcKIkbqT6l0jn3cMOpqjTVPi/eAEsHQox848USzVbiMEIdRnM= 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: f6c02f041df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:aa9186fe-918c-4095-b1a9-f73090c4aba9,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:905e193f2a52aa067c591bf3481a3226,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: f6c02f041df511f1a21c59e7364eecb8-20260312 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 1179182386; Thu, 12 Mar 2026 17:29:26 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 16/17] spi: zynq-qspi: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:29:08 +0800 Message-Id: <62624949916c28ebfa09d637937629fb656f4f97.1773306858.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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-zynq-qspi.c | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/drivers/spi/spi-zynq-qspi.c b/drivers/spi/spi-zynq-qspi.c index 5232483c4a3a..f887c55337ae 100644 --- a/drivers/spi/spi-zynq-qspi.c +++ b/drivers/spi/spi-zynq-qspi.c @@ -661,7 +661,7 @@ static int zynq_qspi_probe(struct platform_device *pdev) goto remove_ctlr; } =20 - xqspi->pclk =3D devm_clk_get(&pdev->dev, "pclk"); + xqspi->pclk =3D devm_clk_get_enabled(&pdev->dev, "pclk"); if (IS_ERR(xqspi->pclk)) { dev_err(&pdev->dev, "pclk clock not found.\n"); ret =3D PTR_ERR(xqspi->pclk); @@ -670,36 +670,24 @@ static int zynq_qspi_probe(struct platform_device *pd= ev) =20 init_completion(&xqspi->data_completion); =20 - xqspi->refclk =3D devm_clk_get(&pdev->dev, "ref_clk"); + xqspi->refclk =3D devm_clk_get_enabled(&pdev->dev, "ref_clk"); if (IS_ERR(xqspi->refclk)) { dev_err(&pdev->dev, "ref_clk clock not found.\n"); ret =3D PTR_ERR(xqspi->refclk); goto remove_ctlr; } =20 - ret =3D clk_prepare_enable(xqspi->pclk); - if (ret) { - dev_err(&pdev->dev, "Unable to enable APB clock.\n"); - goto remove_ctlr; - } - - ret =3D clk_prepare_enable(xqspi->refclk); - if (ret) { - dev_err(&pdev->dev, "Unable to enable device clock.\n"); - goto clk_dis_pclk; - } - xqspi->irq =3D platform_get_irq(pdev, 0); if (xqspi->irq < 0) { ret =3D xqspi->irq; - goto clk_dis_all; + goto remove_ctlr; } ret =3D devm_request_irq(&pdev->dev, xqspi->irq, zynq_qspi_irq, 0, pdev->name, xqspi); if (ret !=3D 0) { ret =3D -ENXIO; dev_err(&pdev->dev, "request_irq failed\n"); - goto clk_dis_all; + goto remove_ctlr; } =20 ret =3D of_property_read_u32(np, "num-cs", @@ -709,7 +697,7 @@ static int zynq_qspi_probe(struct platform_device *pdev) } else if (num_cs > ZYNQ_QSPI_MAX_NUM_CS) { ret =3D -EINVAL; dev_err(&pdev->dev, "only 2 chip selects are available\n"); - goto clk_dis_all; + goto remove_ctlr; } else { ctlr->num_chipselect =3D num_cs; } @@ -728,15 +716,11 @@ static int zynq_qspi_probe(struct platform_device *pd= ev) ret =3D devm_spi_register_controller(&pdev->dev, ctlr); if (ret) { dev_err(&pdev->dev, "devm_spi_register_controller failed\n"); - goto clk_dis_all; + goto remove_ctlr; } =20 return ret; =20 -clk_dis_all: - clk_disable_unprepare(xqspi->refclk); -clk_dis_pclk: - clk_disable_unprepare(xqspi->pclk); remove_ctlr: spi_controller_put(ctlr); =20 --=20 2.25.1 From nobody Tue Apr 7 17:51:52 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 AA0483B9DBF; Thu, 12 Mar 2026 09:29:35 +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=1773307778; cv=none; b=pzpzepI1NLsu6sGo40LbA+cPE+WjE5uxcNSv9GnEustyNrvf9pvhJbPeGBaqJ5F0OyzfHyLOqMqBy5FkLgJ4LhGK/RcBT505O096EtJSO+kUSETQ+zJxmIqyg+IPjeqgRaTWtVaux+88gCUvDCilZSV9Ki9WgZXlbSA+rYNfFOQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773307778; c=relaxed/simple; bh=/AYtCTbCOSs0CKnw2tCfiQ60eHW0K8Jql3MaFp1/U0U=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PR93bQT3kLporOYgaifGHU0Xcdkihz07gW5knsUCU8r6RO4erpklVW79npex+KOhdrXb+GbvJwgOkaX7ML3ySmPa8GJYaMaxX1BxbIA1x771sbHQa/XDd62X7+rQAhZwf3FklsBV5jwnYf2/a1MMcJQjXjsECySEPXhGubDYkgQ= 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: f6fd25581df511f1a21c59e7364eecb8-20260312 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:9c0fef49-add6-4c75-9ae7-2a9d04d96b5b,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:0 X-CID-META: VersionHash:89c9d04,CLOUDID:5ee666ed7089e2336e82d381e74c08d2,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: f6fd25581df511f1a21c59e7364eecb8-20260312 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 260563749; Thu, 12 Mar 2026 17:29:27 +0800 From: Pei Xiao To: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.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, broonie@kernel.org Cc: Pei Xiao Subject: [PATCH 17/17] spi: zynqmp-gqspi: Use helper function devm_clk_get_enabled() Date: Thu, 12 Mar 2026 17:29:09 +0800 Message-Id: <00142ccb5415bab9b13cba74138d579e72d3313d.1773306858.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" devm_clk_get() and clk_prepare_enable() can now be replaced by devm_clk_get_enabled() when driver enables the clocks. Moreover, it is no longer necessary to unprepare and disable the clocks explicitly. Simplify code. Signed-off-by: Pei Xiao --- drivers/spi/spi-zynqmp-gqspi.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/drivers/spi/spi-zynqmp-gqspi.c b/drivers/spi/spi-zynqmp-gqspi.c index 502fd5eccc83..a88b07956c33 100644 --- a/drivers/spi/spi-zynqmp-gqspi.c +++ b/drivers/spi/spi-zynqmp-gqspi.c @@ -1244,26 +1244,16 @@ static int zynqmp_qspi_probe(struct platform_device= *pdev) if (IS_ERR(xqspi->regs)) return PTR_ERR(xqspi->regs); =20 - xqspi->pclk =3D devm_clk_get(&pdev->dev, "pclk"); + xqspi->pclk =3D devm_clk_get_enabled(&pdev->dev, "pclk"); if (IS_ERR(xqspi->pclk)) return dev_err_probe(dev, PTR_ERR(xqspi->pclk), "pclk clock not found.\n"); =20 - xqspi->refclk =3D devm_clk_get(&pdev->dev, "ref_clk"); + xqspi->refclk =3D devm_clk_get_enabled(&pdev->dev, "ref_clk"); if (IS_ERR(xqspi->refclk)) return dev_err_probe(dev, PTR_ERR(xqspi->refclk), "ref_clk clock not found.\n"); =20 - ret =3D clk_prepare_enable(xqspi->pclk); - if (ret) - return dev_err_probe(dev, ret, "Unable to enable APB clock.\n"); - - ret =3D clk_prepare_enable(xqspi->refclk); - if (ret) { - dev_err(dev, "Unable to enable device clock.\n"); - goto clk_dis_pclk; - } - init_completion(&xqspi->data_completion); =20 mutex_init(&xqspi->op_lock); @@ -1339,9 +1329,6 @@ static int zynqmp_qspi_probe(struct platform_device *= pdev) pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_put_noidle(&pdev->dev); pm_runtime_set_suspended(&pdev->dev); - clk_disable_unprepare(xqspi->refclk); -clk_dis_pclk: - clk_disable_unprepare(xqspi->pclk); =20 return ret; } --=20 2.25.1