From: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
To: paul@crapouillou.net, linux-mips@vger.kernel.org
Cc: lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz,
tiwai@suse.com, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, jihed.chaibi.dev@gmail.com
Subject: [PATCH 1/3] ASoC: jz4725b: Convert to devm_clk_get_enabled()
Date: Mon, 23 Mar 2026 17:15:49 +0100 [thread overview]
Message-ID: <20260323161551.47181-2-jihed.chaibi.dev@gmail.com> (raw)
In-Reply-To: <20260323161551.47181-1-jihed.chaibi.dev@gmail.com>
The clock is obtained with devm_clk_get() in the platform probe, then
manually enabled in the component probe and disabled in the component
remove without checking the return value of clk_prepare_enable().
Use devm_clk_get_enabled() instead, which combines the get, prepare and
enable operations into one call whose lifetime is tied to the device.
This removes the need for explicit enable/disable in the component
probe/remove callbacks, and ensures that clock enable failures are
propagated as errors rather than silently ignored.
Remove the now-unused struct clk pointer from struct jz_icdc and drop
the empty component remove callback.
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
sound/soc/codecs/jz4725b.c | 18 ++++--------------
1 file changed, 4 insertions(+), 14 deletions(-)
diff --git a/sound/soc/codecs/jz4725b.c b/sound/soc/codecs/jz4725b.c
index 39cebaa167be..8a7d26a08c03 100644
--- a/sound/soc/codecs/jz4725b.c
+++ b/sound/soc/codecs/jz4725b.c
@@ -160,7 +160,6 @@ enum {
struct jz_icdc {
struct regmap *regmap;
void __iomem *base;
- struct clk *clk;
};
static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(jz4725b_adc_tlv, 0, 150, 0);
@@ -405,8 +404,6 @@ static int jz4725b_codec_dev_probe(struct snd_soc_component *component)
struct jz_icdc *icdc = snd_soc_component_get_drvdata(component);
struct regmap *map = icdc->regmap;
- clk_prepare_enable(icdc->clk);
-
/* Write CONFIGn (n=1 to 8) bits.
* The value 0x0f is specified in the datasheet as a requirement.
*/
@@ -418,16 +415,8 @@ static int jz4725b_codec_dev_probe(struct snd_soc_component *component)
return 0;
}
-static void jz4725b_codec_dev_remove(struct snd_soc_component *component)
-{
- struct jz_icdc *icdc = snd_soc_component_get_drvdata(component);
-
- clk_disable_unprepare(icdc->clk);
-}
-
static const struct snd_soc_component_driver jz4725b_codec = {
.probe = jz4725b_codec_dev_probe,
- .remove = jz4725b_codec_dev_remove,
.set_bias_level = jz4725b_codec_set_bias_level,
.controls = jz4725b_codec_controls,
.num_controls = ARRAY_SIZE(jz4725b_codec_controls),
@@ -618,6 +607,7 @@ static int jz4725b_codec_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
struct jz_icdc *icdc;
+ struct clk *clk;
int ret;
icdc = devm_kzalloc(dev, sizeof(*icdc), GFP_KERNEL);
@@ -633,9 +623,9 @@ static int jz4725b_codec_probe(struct platform_device *pdev)
if (IS_ERR(icdc->regmap))
return PTR_ERR(icdc->regmap);
- icdc->clk = devm_clk_get(&pdev->dev, "aic");
- if (IS_ERR(icdc->clk))
- return PTR_ERR(icdc->clk);
+ clk = devm_clk_get_enabled(dev, "aic");
+ if (IS_ERR(clk))
+ return PTR_ERR(clk);
platform_set_drvdata(pdev, icdc);
--
2.47.3
next prev parent reply other threads:[~2026-03-23 16:16 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-23 16:15 [PATCH 0/3] ASoC: jz47xx: Convert to devm_clk_get_enabled() Jihed Chaibi
2026-03-23 16:15 ` Jihed Chaibi [this message]
2026-03-23 16:46 ` [PATCH 1/3] ASoC: jz4725b: " Mark Brown
2026-03-23 16:15 ` [PATCH 2/3] ASoC: jz4760: " Jihed Chaibi
2026-03-23 16:15 ` [PATCH 3/3] ASoC: jz4770: " Jihed Chaibi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260323161551.47181-2-jihed.chaibi.dev@gmail.com \
--to=jihed.chaibi.dev@gmail.com \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=paul@crapouillou.net \
--cc=perex@perex.cz \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.