From nobody Mon Apr 6 21:55:27 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 BDBF227991A; Wed, 18 Mar 2026 02:40: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=1773801626; cv=none; b=jMahdB/pFGJPHRL75d+enbUUJNtkwdOTCcnGvqvVluWv7FbzHaWD0ZS+S8d2KSVOpHrJU0gGCbmP6P/TmN+O+TBDRJ0As71d4wTw3mkDH4jPB43+hK2q9ul8vcKNgrnKe21xquyd55c2HP2YKzN00yoGgHVUBmK7LF691j5PGrM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773801626; c=relaxed/simple; bh=JxNBfQq344N/2CAB5JlxZ4NdP0US6YmZ4h9xGaciSOQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=jHxAP9o+1H4CDMZmI3z8rl4c9YZgj/i88w3MEod3WU6gOwCuYKmIHQxdj00rcsCfYEf0BlGzxgLNeDd46XBi1AdtYC47ao3hKGyxrjVY4sG9vqm4ZFYhKm0ZvWioEj/GbayQy76ZMV3Jz/zHhVe/fJ9cqYIdJaGHDXxOb47k+es= 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: cc29659e227311f1a21c59e7364eecb8-20260318 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.11,REQID:32a65dcb-5998-4b53-af47-9cc19c559b39,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:b5aefb9c04c47315f86eccfdc4796353,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: cc29659e227311f1a21c59e7364eecb8-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 1157164899; Wed, 18 Mar 2026 10:40:16 +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 14/17] spi: sunplus-sp7021: Simplify clock handling with devm_clk_get_enabled() Date: Wed, 18 Mar 2026 10:40: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" Replace devm_clk_get() followed by clk_prepare_enable() with devm_clk_get_enabled() for the clock. This removes the need for explicit clock enable/disable calls and the custom cleanup function, as the managed API automatically handles clock disabling on device removal or probe failure. Remove the now-unnecessary sp7021_spi_disable_unprepare() function and the devm_add_action_or_reset() call. 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