* [PATCH 1/3] ASoC: mediatek: mt2701: Use devm_clk_get_optional() for audio_mrgif_pd
@ 2026-08-17 10:49 phucduc.bui
2026-08-17 10:49 ` [PATCH 2/3] ASoC: mediatek: mt2701: Use dev_err_probe() for error handling phucduc.bui
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: phucduc.bui @ 2026-08-17 10:49 UTC (permalink / raw)
To: Mark Brown, Matthias Brugger
Cc: Liam Girdwood, AngeloGioacchino Del Regno, Jaroslav Kysela,
Takashi Iwai, Rosen Penev, Daniel Golle, linux-sound,
linux-arm-kernel, linux-mediatek, linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
The audio_mrgif_pd clock is optional as some platforms may support the
BT path while others do not. Use devm_clk_get_optional() to reflect
this.
Propagate other errors to the caller.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c b/sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c
index d217f9320ad2..18f0f27bd8c0 100644
--- a/sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c
+++ b/sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c
@@ -89,13 +89,9 @@ int mt2701_init_clock(struct mtk_base_afe *afe)
}
/* Some platforms may support BT path */
- afe_priv->mrgif_ck = devm_clk_get(afe->dev, "audio_mrgif_pd");
- if (IS_ERR(afe_priv->mrgif_ck)) {
- if (PTR_ERR(afe_priv->mrgif_ck) == -EPROBE_DEFER)
- return -EPROBE_DEFER;
-
- afe_priv->mrgif_ck = NULL;
- }
+ afe_priv->mrgif_ck = devm_clk_get_optional(afe->dev, "audio_mrgif_pd");
+ if (IS_ERR(afe_priv->mrgif_ck))
+ return PTR_ERR(afe_priv->mrgif_ck);
/*
* Optional HDMI audio clocks. Platforms that do not wire up the
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 2/3] ASoC: mediatek: mt2701: Use dev_err_probe() for error handling 2026-08-17 10:49 [PATCH 1/3] ASoC: mediatek: mt2701: Use devm_clk_get_optional() for audio_mrgif_pd phucduc.bui @ 2026-08-17 10:49 ` phucduc.bui 2026-08-18 11:20 ` Cezary Rojewski 2026-08-17 10:49 ` [PATCH 3/3] ASoC: mediatek: mt2701: Drop redundant probe error messages phucduc.bui 2026-08-18 10:31 ` [PATCH 1/3] ASoC: mediatek: mt2701: Use devm_clk_get_optional() for audio_mrgif_pd Cezary Rojewski 2 siblings, 1 reply; 8+ messages in thread From: phucduc.bui @ 2026-08-17 10:49 UTC (permalink / raw) To: Mark Brown, Matthias Brugger Cc: Liam Girdwood, AngeloGioacchino Del Regno, Jaroslav Kysela, Takashi Iwai, Rosen Penev, Daniel Golle, linux-sound, linux-arm-kernel, linux-mediatek, linux-kernel, bui duc phuc From: bui duc phuc <phucduc.bui@gmail.com> Replace dev_err() with dev_err_probe() to prevent log spam when probe returns -EPROBE_DEFER. Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> --- .../mediatek/mt2701/mt2701-afe-clock-ctrl.c | 51 +++++++++---------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c b/sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c index 18f0f27bd8c0..1cf66ca44a33 100644 --- a/sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c +++ b/sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c @@ -30,10 +30,9 @@ int mt2701_init_clock(struct mtk_base_afe *afe) for (i = 0; i < MT2701_BASE_CLK_NUM; i++) { afe_priv->base_ck[i] = devm_clk_get(afe->dev, base_clks[i]); - if (IS_ERR(afe_priv->base_ck[i])) { - dev_err(afe->dev, "failed to get %s\n", base_clks[i]); - return PTR_ERR(afe_priv->base_ck[i]); - } + if (IS_ERR(afe_priv->base_ck[i])) + return dev_err_probe(afe->dev, PTR_ERR(afe_priv->base_ck[i]), + "failed to get %s\n", base_clks[i]); } i2s_num = min(afe_priv->soc->i2s_num, MT2701_BASE_CLK_NUM); @@ -45,47 +44,43 @@ int mt2701_init_clock(struct mtk_base_afe *afe) snprintf(name, sizeof(name), "i2s%d_src_sel", i); i2s_path->sel_ck = devm_clk_get(afe->dev, name); - if (IS_ERR(i2s_path->sel_ck)) { - dev_err(afe->dev, "failed to get %s\n", name); - return PTR_ERR(i2s_path->sel_ck); - } + if (IS_ERR(i2s_path->sel_ck)) + return dev_err_probe(afe->dev, PTR_ERR(i2s_path->sel_ck), + "failed to get %s\n", name); snprintf(name, sizeof(name), "i2s%d_src_div", i); i2s_path->div_ck = devm_clk_get(afe->dev, name); - if (IS_ERR(i2s_path->div_ck)) { - dev_err(afe->dev, "failed to get %s\n", name); - return PTR_ERR(i2s_path->div_ck); - } + if (IS_ERR(i2s_path->div_ck)) + return dev_err_probe(afe->dev, PTR_ERR(i2s_path->div_ck), + "failed to get %s\n", name); snprintf(name, sizeof(name), "i2s%d_mclk_en", i); i2s_path->mclk_ck = devm_clk_get(afe->dev, name); - if (IS_ERR(i2s_path->mclk_ck)) { - dev_err(afe->dev, "failed to get %s\n", name); - return PTR_ERR(i2s_path->mclk_ck); - } + if (IS_ERR(i2s_path->mclk_ck)) + return dev_err_probe(afe->dev, PTR_ERR(i2s_path->mclk_ck), + "failed to get %s\n", name); snprintf(name, sizeof(name), "i2so%d_hop_ck", i); i2s_ck = devm_clk_get(afe->dev, name); - if (IS_ERR(i2s_ck)) { - dev_err(afe->dev, "failed to get %s\n", name); - return PTR_ERR(i2s_ck); - } + if (IS_ERR(i2s_ck)) + return dev_err_probe(afe->dev, PTR_ERR(i2s_ck), + "failed to get %s\n", name); + i2s_path->hop_ck[SNDRV_PCM_STREAM_PLAYBACK] = i2s_ck; snprintf(name, sizeof(name), "i2si%d_hop_ck", i); i2s_ck = devm_clk_get(afe->dev, name); - if (IS_ERR(i2s_ck)) { - dev_err(afe->dev, "failed to get %s\n", name); - return PTR_ERR(i2s_ck); - } + if (IS_ERR(i2s_ck)) + return dev_err_probe(afe->dev, PTR_ERR(i2s_ck), + "failed to get %s\n", name); + i2s_path->hop_ck[SNDRV_PCM_STREAM_CAPTURE] = i2s_ck; snprintf(name, sizeof(name), "asrc%d_out_ck", i); i2s_path->asrco_ck = devm_clk_get(afe->dev, name); - if (IS_ERR(i2s_path->asrco_ck)) { - dev_err(afe->dev, "failed to get %s\n", name); - return PTR_ERR(i2s_path->asrco_ck); - } + if (IS_ERR(i2s_path->asrco_ck)) + return dev_err_probe(afe->dev, PTR_ERR(i2s_path->asrco_ck), + "failed to get %s\n", name); } /* Some platforms may support BT path */ -- 2.43.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] ASoC: mediatek: mt2701: Use dev_err_probe() for error handling 2026-08-17 10:49 ` [PATCH 2/3] ASoC: mediatek: mt2701: Use dev_err_probe() for error handling phucduc.bui @ 2026-08-18 11:20 ` Cezary Rojewski 0 siblings, 0 replies; 8+ messages in thread From: Cezary Rojewski @ 2026-08-18 11:20 UTC (permalink / raw) To: phucduc.bui Cc: Liam Girdwood, AngeloGioacchino Del Regno, Jaroslav Kysela, Takashi Iwai, Rosen Penev, Daniel Golle, linux-sound, linux-arm-kernel, linux-mediatek, linux-kernel, Mark Brown, Matthias Brugger On 8/17/2026 12:49 PM, phucduc.bui@gmail.com wrote: > From: bui duc phuc <phucduc.bui@gmail.com> > > Replace dev_err() with dev_err_probe() to prevent log spam when probe > returns -EPROBE_DEFER. > > Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com> ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] ASoC: mediatek: mt2701: Drop redundant probe error messages 2026-08-17 10:49 [PATCH 1/3] ASoC: mediatek: mt2701: Use devm_clk_get_optional() for audio_mrgif_pd phucduc.bui 2026-08-17 10:49 ` [PATCH 2/3] ASoC: mediatek: mt2701: Use dev_err_probe() for error handling phucduc.bui @ 2026-08-17 10:49 ` phucduc.bui 2026-08-18 11:21 ` Cezary Rojewski 2026-08-18 10:31 ` [PATCH 1/3] ASoC: mediatek: mt2701: Use devm_clk_get_optional() for audio_mrgif_pd Cezary Rojewski 2 siblings, 1 reply; 8+ messages in thread From: phucduc.bui @ 2026-08-17 10:49 UTC (permalink / raw) To: Mark Brown, Matthias Brugger Cc: Liam Girdwood, AngeloGioacchino Del Regno, Jaroslav Kysela, Takashi Iwai, Rosen Penev, Daniel Golle, linux-sound, linux-arm-kernel, linux-mediatek, linux-kernel, bui duc phuc From: bui duc phuc <phucduc.bui@gmail.com> The errors handled here are already reported by the called functions, either directly or deeper in the call chain. Therefore, the additional dev_err() calls are redundant and can be removed. Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> --- sound/soc/mediatek/mt2701/mt2701-afe-pcm.c | 4 +--- sound/soc/mediatek/mt2701/mt2701-cs42448.c | 4 +--- sound/soc/mediatek/mt2701/mt2701-wm8960.c | 4 +--- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/sound/soc/mediatek/mt2701/mt2701-afe-pcm.c b/sound/soc/mediatek/mt2701/mt2701-afe-pcm.c index d56b498e8c0c..3c5a76591ea7 100644 --- a/sound/soc/mediatek/mt2701/mt2701-afe-pcm.c +++ b/sound/soc/mediatek/mt2701/mt2701-afe-pcm.c @@ -1622,10 +1622,8 @@ static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev) ret = devm_request_irq(dev, irq_id, mt2701_asys_isr, IRQF_TRIGGER_NONE, "asys-isr", (void *)afe); - if (ret) { - dev_err(dev, "could not request_irq for asys-isr\n"); + if (ret) return ret; - } afe->regmap = syscon_node_to_regmap(dev->parent->of_node); if (IS_ERR(afe->regmap)) { diff --git a/sound/soc/mediatek/mt2701/mt2701-cs42448.c b/sound/soc/mediatek/mt2701/mt2701-cs42448.c index 778a9dccfcaa..af833a8daa2a 100644 --- a/sound/soc/mediatek/mt2701/mt2701-cs42448.c +++ b/sound/soc/mediatek/mt2701/mt2701-cs42448.c @@ -366,10 +366,8 @@ static int mt2701_cs42448_machine_probe(struct platform_device *pdev) = codec_node_bt_mrg; ret = snd_soc_of_parse_audio_routing(card, "audio-routing"); - if (ret) { - dev_err(dev, "failed to parse audio-routing: %d\n", ret); + if (ret) return ret; - } priv->i2s1_in_mux_sel_1 = devm_gpiod_get_optional(dev, "i2s1-in-sel-gpio1", GPIOD_OUT_LOW); diff --git a/sound/soc/mediatek/mt2701/mt2701-wm8960.c b/sound/soc/mediatek/mt2701/mt2701-wm8960.c index 84b3d6cd77a5..25ea3e274aa8 100644 --- a/sound/soc/mediatek/mt2701/mt2701-wm8960.c +++ b/sound/soc/mediatek/mt2701/mt2701-wm8960.c @@ -137,10 +137,8 @@ static int mt2701_wm8960_machine_probe(struct platform_device *pdev) } ret = snd_soc_of_parse_audio_routing(card, "audio-routing"); - if (ret) { - dev_err(&pdev->dev, "failed to parse audio-routing: %d\n", ret); + if (ret) goto put_codec_node; - } ret = devm_snd_soc_register_card(&pdev->dev, card); if (ret) -- 2.43.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] ASoC: mediatek: mt2701: Drop redundant probe error messages 2026-08-17 10:49 ` [PATCH 3/3] ASoC: mediatek: mt2701: Drop redundant probe error messages phucduc.bui @ 2026-08-18 11:21 ` Cezary Rojewski 0 siblings, 0 replies; 8+ messages in thread From: Cezary Rojewski @ 2026-08-18 11:21 UTC (permalink / raw) To: phucduc.bui Cc: Liam Girdwood, AngeloGioacchino Del Regno, Jaroslav Kysela, Takashi Iwai, Rosen Penev, Daniel Golle, linux-sound, linux-arm-kernel, linux-mediatek, linux-kernel, Mark Brown, Matthias Brugger On 8/17/2026 12:49 PM, phucduc.bui@gmail.com wrote: > From: bui duc phuc <phucduc.bui@gmail.com> > > The errors handled here are already reported by the called functions, > either directly or deeper in the call chain. Therefore, the additional > dev_err() calls are redundant and can be removed. > > Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] ASoC: mediatek: mt2701: Use devm_clk_get_optional() for audio_mrgif_pd 2026-08-17 10:49 [PATCH 1/3] ASoC: mediatek: mt2701: Use devm_clk_get_optional() for audio_mrgif_pd phucduc.bui 2026-08-17 10:49 ` [PATCH 2/3] ASoC: mediatek: mt2701: Use dev_err_probe() for error handling phucduc.bui 2026-08-17 10:49 ` [PATCH 3/3] ASoC: mediatek: mt2701: Drop redundant probe error messages phucduc.bui @ 2026-08-18 10:31 ` Cezary Rojewski 2026-08-18 11:02 ` Bui Duc Phuc 2 siblings, 1 reply; 8+ messages in thread From: Cezary Rojewski @ 2026-08-18 10:31 UTC (permalink / raw) To: phucduc.bui Cc: Liam Girdwood, AngeloGioacchino Del Regno, Jaroslav Kysela, Takashi Iwai, Rosen Penev, Daniel Golle, linux-sound, linux-arm-kernel, linux-mediatek, linux-kernel, Mark Brown, Matthias Brugger On 8/17/2026 12:49 PM, phucduc.bui@gmail.com wrote: > From: bui duc phuc <phucduc.bui@gmail.com> > > The audio_mrgif_pd clock is optional as some platforms may support the > BT path while others do not. Use devm_clk_get_optional() to reflect > this. > > Propagate other errors to the caller. What does that mean? Did the functional path change? > Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> This should be part of a mediatek-patch-series with a cover letter. Yeah, the mt6797 changes should be here too. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] ASoC: mediatek: mt2701: Use devm_clk_get_optional() for audio_mrgif_pd 2026-08-18 10:31 ` [PATCH 1/3] ASoC: mediatek: mt2701: Use devm_clk_get_optional() for audio_mrgif_pd Cezary Rojewski @ 2026-08-18 11:02 ` Bui Duc Phuc 2026-08-18 11:18 ` Cezary Rojewski 0 siblings, 1 reply; 8+ messages in thread From: Bui Duc Phuc @ 2026-08-18 11:02 UTC (permalink / raw) To: Cezary Rojewski Cc: Liam Girdwood, AngeloGioacchino Del Regno, Jaroslav Kysela, Takashi Iwai, Rosen Penev, Daniel Golle, linux-sound, linux-arm-kernel, linux-mediatek, linux-kernel, Mark Brown, Matthias Brugger Hi Cezary, Thank you for your review. > > The audio_mrgif_pd clock is optional as some platforms may support the > > BT path while others do not. Use devm_clk_get_optional() to reflect > > this. > > > > Propagate other errors to the caller. > > What does that mean? Did the functional path change? > Previously, the code only returned an error for -EPROBE_DEFER and ignored other errors. After switching to devm_clk_get_optional(), all other errors are propagated to the caller as well. Regarding the functional path, I don't think it changes on platforms where the clock is present. The change only allows platforms without this optional clock to continue probing. > > Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> > This should be part of a mediatek-patch-series with a cover letter. > Yeah, the mt6797 changes should be here too. Currently, the MediaTek ASoC drivers are split into multiple groups by SoC. I am handling them one group at a time to make the review easier. I will send each group once it is completed, rather than waiting for the entire MediaTek cleanup, which would take quite a long time. A single series covering all MediaTek SoCs would also be very long and harder to follow, especially if changes are requested during review. I hope this approach works for you. Best regards, Phuc ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] ASoC: mediatek: mt2701: Use devm_clk_get_optional() for audio_mrgif_pd 2026-08-18 11:02 ` Bui Duc Phuc @ 2026-08-18 11:18 ` Cezary Rojewski 0 siblings, 0 replies; 8+ messages in thread From: Cezary Rojewski @ 2026-08-18 11:18 UTC (permalink / raw) To: Bui Duc Phuc Cc: Liam Girdwood, AngeloGioacchino Del Regno, Jaroslav Kysela, Takashi Iwai, Rosen Penev, Daniel Golle, linux-sound, linux-arm-kernel, linux-mediatek, linux-kernel, Mark Brown, Matthias Brugger On 8/18/2026 1:02 PM, Bui Duc Phuc wrote: >>> Propagate other errors to the caller. >> >> What does that mean? Did the functional path change? >> > > Previously, the code only returned an error for -EPROBE_DEFER and > ignored other errors. > After switching to devm_clk_get_optional(), all other errors are > propagated to the caller as well. > > Regarding the functional path, I don't think it changes on platforms > where the clock is present. > The change only allows platforms without this optional clock to > continue probing. >> This should be part of a mediatek-patch-series with a cover letter. >> Yeah, the mt6797 changes should be here too. > > Currently, the MediaTek ASoC drivers are split into multiple groups by SoC. > I am handling them one group at a time to make the review easier. > > I will send each group once it is completed, rather than waiting for the entire > MediaTek cleanup, which would take quite a long time. A single series > covering all > MediaTek SoCs would also be very long and harder to follow, > especially if changes are requested during review. > > I hope this approach works for you. Thanks for the explanations. I see only benefits from these changes. Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com> ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-08-18 11:21 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-08-17 10:49 [PATCH 1/3] ASoC: mediatek: mt2701: Use devm_clk_get_optional() for audio_mrgif_pd phucduc.bui 2026-08-17 10:49 ` [PATCH 2/3] ASoC: mediatek: mt2701: Use dev_err_probe() for error handling phucduc.bui 2026-08-18 11:20 ` Cezary Rojewski 2026-08-17 10:49 ` [PATCH 3/3] ASoC: mediatek: mt2701: Drop redundant probe error messages phucduc.bui 2026-08-18 11:21 ` Cezary Rojewski 2026-08-18 10:31 ` [PATCH 1/3] ASoC: mediatek: mt2701: Use devm_clk_get_optional() for audio_mrgif_pd Cezary Rojewski 2026-08-18 11:02 ` Bui Duc Phuc 2026-08-18 11:18 ` Cezary Rojewski
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox