* [PATCH 0/6] ASoC: samsung: Improve probe error handling
@ 2026-08-11 9:05 phucduc.bui
2026-08-11 9:05 ` [PATCH 1/6] ASoC: samsung: aries_wm8994: Preserve gpiod_to_irq() error codes phucduc.bui
` (5 more replies)
0 siblings, 6 replies; 11+ messages in thread
From: phucduc.bui @ 2026-08-11 9:05 UTC (permalink / raw)
To: Sylwester Nawrocki, Liam Girdwood, Mark Brown, Jaroslav Kysela,
Takashi Iwai
Cc: linux-sound, linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
Hi all,
This series improves probe error handling in several Samsung ASoC
drivers.
Preserve the original error code from gpiod_to_irq() and use
dev_err_probe() where appropriate. Also remove redundant probe error
messages where the called functions already report the error.
Compile-tested only.
Best regards,
Phuc
bui duc phuc (6):
ASoC: samsung: aries_wm8994: Preserve gpiod_to_irq() error codes
ASoC: samsung: aries_wm8994: Drop redundant probe error messages
ASoC: samsung: pcm: Use dev_err_probe() for error handling
ASoC: samsung: pcm: Drop redundant probe error messages
ASoC: samsung: spdif: Drop redundant probe error messages
ASoC: samsung: tm2_wm5110: Drop redundant probe error messages
sound/soc/samsung/aries_wm8994.c | 14 ++++----------
sound/soc/samsung/pcm.c | 19 +++++++------------
sound/soc/samsung/spdif.c | 8 ++------
sound/soc/samsung/tm2_wm5110.c | 12 +++---------
4 files changed, 16 insertions(+), 37 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/6] ASoC: samsung: aries_wm8994: Preserve gpiod_to_irq() error codes
2026-08-11 9:05 [PATCH 0/6] ASoC: samsung: Improve probe error handling phucduc.bui
@ 2026-08-11 9:05 ` phucduc.bui
2026-08-11 13:17 ` Cezary Rojewski
2026-08-11 9:05 ` [PATCH 2/6] ASoC: samsung: aries_wm8994: Drop redundant probe error messages phucduc.bui
` (4 subsequent siblings)
5 siblings, 1 reply; 11+ messages in thread
From: phucduc.bui @ 2026-08-11 9:05 UTC (permalink / raw)
To: Sylwester Nawrocki, Liam Girdwood, Mark Brown, Jaroslav Kysela,
Takashi Iwai
Cc: linux-sound, linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
gpiod_to_irq() can currently return several error codes, including
-ENXIO, -ENODEV, -EPROBE_DEFER, and -EINVAL.
Return the original error code instead of overwriting it with -EINVAL,
so that the actual failure reason is preserved.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/samsung/aries_wm8994.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/samsung/aries_wm8994.c b/sound/soc/samsung/aries_wm8994.c
index 6db91b73f25c..58e3e08225de 100644
--- a/sound/soc/samsung/aries_wm8994.c
+++ b/sound/soc/samsung/aries_wm8994.c
@@ -374,7 +374,7 @@ static int aries_late_probe(struct snd_soc_card *card)
irq = gpiod_to_irq(priv->gpio_headset_detect);
if (irq < 0) {
dev_err(card->dev, "Failed to map headset detect gpio to irq");
- return -EINVAL;
+ return irq;
}
ret = devm_request_threaded_irq(card->dev, irq, NULL,
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/6] ASoC: samsung: aries_wm8994: Drop redundant probe error messages
2026-08-11 9:05 [PATCH 0/6] ASoC: samsung: Improve probe error handling phucduc.bui
2026-08-11 9:05 ` [PATCH 1/6] ASoC: samsung: aries_wm8994: Preserve gpiod_to_irq() error codes phucduc.bui
@ 2026-08-11 9:05 ` phucduc.bui
2026-08-11 13:10 ` Cezary Rojewski
2026-08-11 9:05 ` [PATCH 3/6] ASoC: samsung: pcm: Use dev_err_probe() for error handling phucduc.bui
` (3 subsequent siblings)
5 siblings, 1 reply; 11+ messages in thread
From: phucduc.bui @ 2026-08-11 9:05 UTC (permalink / raw)
To: Sylwester Nawrocki, Liam Girdwood, Mark Brown, Jaroslav Kysela,
Takashi Iwai
Cc: linux-sound, linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
Remove the probe error messages to avoid duplicate error reporting,
since the error is already reported by the called functions.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/samsung/aries_wm8994.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/sound/soc/samsung/aries_wm8994.c b/sound/soc/samsung/aries_wm8994.c
index 58e3e08225de..d189db96cf17 100644
--- a/sound/soc/samsung/aries_wm8994.c
+++ b/sound/soc/samsung/aries_wm8994.c
@@ -381,10 +381,8 @@ static int aries_late_probe(struct snd_soc_card *card)
headset_det_irq_thread,
IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING |
IRQF_ONESHOT, "headset_detect", priv);
- if (ret) {
- dev_err(card->dev, "Failed to request headset detect irq");
+ if (ret)
return ret;
- }
headset_button_gpio[0].data = priv;
headset_button_gpio[0].desc = priv->gpio_headset_key;
@@ -623,10 +621,8 @@ static int aries_audio_probe(struct platform_device *pdev)
if (ret < 0) {
/* Backwards compatible way */
ret = snd_soc_of_parse_audio_routing(card, "samsung,audio-routing");
- if (ret < 0) {
- dev_err(dev, "Audio routing invalid/unspecified\n");
+ if (ret < 0)
return ret;
- }
}
aries_dai[1].dai_fmt = priv->variant->modem_dai_fmt;
@@ -671,10 +667,8 @@ static int aries_audio_probe(struct platform_device *pdev)
ret = devm_snd_soc_register_component(dev, &aries_component,
aries_ext_dai, ARRAY_SIZE(aries_ext_dai));
- if (ret < 0) {
- dev_err(dev, "Failed to register component: %d\n", ret);
+ if (ret < 0)
goto out;
- }
ret = devm_snd_soc_register_card(dev, card);
if (ret)
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/6] ASoC: samsung: pcm: Use dev_err_probe() for error handling
2026-08-11 9:05 [PATCH 0/6] ASoC: samsung: Improve probe error handling phucduc.bui
2026-08-11 9:05 ` [PATCH 1/6] ASoC: samsung: aries_wm8994: Preserve gpiod_to_irq() error codes phucduc.bui
2026-08-11 9:05 ` [PATCH 2/6] ASoC: samsung: aries_wm8994: Drop redundant probe error messages phucduc.bui
@ 2026-08-11 9:05 ` phucduc.bui
2026-08-11 13:21 ` Cezary Rojewski
2026-08-11 9:05 ` [PATCH 4/6] ASoC: samsung: pcm: Drop redundant probe error messages phucduc.bui
` (2 subsequent siblings)
5 siblings, 1 reply; 11+ messages in thread
From: phucduc.bui @ 2026-08-11 9:05 UTC (permalink / raw)
To: Sylwester Nawrocki, Liam Girdwood, Mark Brown, Jaroslav Kysela,
Takashi Iwai
Cc: linux-sound, 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>
---
sound/soc/samsung/pcm.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/sound/soc/samsung/pcm.c b/sound/soc/samsung/pcm.c
index 309f024bf2a4..7e7284125c3e 100644
--- a/sound/soc/samsung/pcm.c
+++ b/sound/soc/samsung/pcm.c
@@ -499,10 +499,9 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
return PTR_ERR(pcm->regs);
pcm->cclk = devm_clk_get(&pdev->dev, "audio-bus");
- if (IS_ERR(pcm->cclk)) {
- dev_err(&pdev->dev, "failed to get audio-bus clock\n");
- return PTR_ERR(pcm->cclk);
- }
+ if (IS_ERR(pcm->cclk))
+ return dev_err_probe(&pdev->dev, PTR_ERR(pcm->cclk),
+ "failed to get audio-bus clock\n");
ret = clk_prepare_enable(pcm->cclk);
if (ret)
return ret;
@@ -512,8 +511,8 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
pcm->pclk = devm_clk_get(&pdev->dev, "pcm");
if (IS_ERR(pcm->pclk)) {
- dev_err(&pdev->dev, "failed to get pcm clock\n");
- ret = PTR_ERR(pcm->pclk);
+ ret = dev_err_probe(&pdev->dev, PTR_ERR(pcm->pclk),
+ "failed to get pcm clock\n");
goto err_dis_cclk;
}
ret = clk_prepare_enable(pcm->pclk);
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 4/6] ASoC: samsung: pcm: Drop redundant probe error messages
2026-08-11 9:05 [PATCH 0/6] ASoC: samsung: Improve probe error handling phucduc.bui
` (2 preceding siblings ...)
2026-08-11 9:05 ` [PATCH 3/6] ASoC: samsung: pcm: Use dev_err_probe() for error handling phucduc.bui
@ 2026-08-11 9:05 ` phucduc.bui
2026-08-11 9:05 ` [PATCH 5/6] ASoC: samsung: spdif: " phucduc.bui
2026-08-11 9:05 ` [PATCH 6/6] ASoC: samsung: tm2_wm5110: " phucduc.bui
5 siblings, 0 replies; 11+ messages in thread
From: phucduc.bui @ 2026-08-11 9:05 UTC (permalink / raw)
To: Sylwester Nawrocki, Liam Girdwood, Mark Brown, Jaroslav Kysela,
Takashi Iwai
Cc: linux-sound, linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
Remove the probe error messages to avoid duplicate error reporting,
since the error is already reported by the called functions.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/samsung/pcm.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/sound/soc/samsung/pcm.c b/sound/soc/samsung/pcm.c
index 7e7284125c3e..8430686760d7 100644
--- a/sound/soc/samsung/pcm.c
+++ b/sound/soc/samsung/pcm.c
@@ -534,19 +534,15 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
ret = samsung_asoc_dma_platform_register(&pdev->dev, filter,
NULL, NULL, NULL);
- if (ret) {
- dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret);
+ if (ret)
goto err_dis_pclk;
- }
pm_runtime_enable(&pdev->dev);
ret = devm_snd_soc_register_component(&pdev->dev, &s3c_pcm_component,
&s3c_pcm_dai[pdev->id], 1);
- if (ret != 0) {
- dev_err(&pdev->dev, "failed to get register DAI: %d\n", ret);
+ if (ret != 0)
goto err_dis_pm;
- }
return 0;
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 5/6] ASoC: samsung: spdif: Drop redundant probe error messages
2026-08-11 9:05 [PATCH 0/6] ASoC: samsung: Improve probe error handling phucduc.bui
` (3 preceding siblings ...)
2026-08-11 9:05 ` [PATCH 4/6] ASoC: samsung: pcm: Drop redundant probe error messages phucduc.bui
@ 2026-08-11 9:05 ` phucduc.bui
2026-08-11 13:16 ` Cezary Rojewski
2026-08-11 9:05 ` [PATCH 6/6] ASoC: samsung: tm2_wm5110: " phucduc.bui
5 siblings, 1 reply; 11+ messages in thread
From: phucduc.bui @ 2026-08-11 9:05 UTC (permalink / raw)
To: Sylwester Nawrocki, Liam Girdwood, Mark Brown, Jaroslav Kysela,
Takashi Iwai
Cc: linux-sound, linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
Remove the probe error messages to avoid duplicate error reporting,
since the error is already reported by the called functions.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/samsung/spdif.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/sound/soc/samsung/spdif.c b/sound/soc/samsung/spdif.c
index 53eaabaf8956..719083e8e89d 100644
--- a/sound/soc/samsung/spdif.c
+++ b/sound/soc/samsung/spdif.c
@@ -415,19 +415,15 @@ static int spdif_probe(struct platform_device *pdev)
ret = samsung_asoc_dma_platform_register(&pdev->dev, filter,
NULL, NULL, NULL);
- if (ret) {
- dev_err(&pdev->dev, "failed to register DMA: %d\n", ret);
+ if (ret)
goto err2;
- }
dev_set_drvdata(&pdev->dev, spdif);
ret = devm_snd_soc_register_component(&pdev->dev,
&samsung_spdif_component, &samsung_spdif_dai, 1);
- if (ret != 0) {
- dev_err(&pdev->dev, "fail to register dai\n");
+ if (ret != 0)
goto err2;
- }
return 0;
err2:
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 6/6] ASoC: samsung: tm2_wm5110: Drop redundant probe error messages
2026-08-11 9:05 [PATCH 0/6] ASoC: samsung: Improve probe error handling phucduc.bui
` (4 preceding siblings ...)
2026-08-11 9:05 ` [PATCH 5/6] ASoC: samsung: spdif: " phucduc.bui
@ 2026-08-11 9:05 ` phucduc.bui
5 siblings, 0 replies; 11+ messages in thread
From: phucduc.bui @ 2026-08-11 9:05 UTC (permalink / raw)
To: Sylwester Nawrocki, Liam Girdwood, Mark Brown, Jaroslav Kysela,
Takashi Iwai
Cc: linux-sound, linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
Remove the probe error messages to avoid duplicate error reporting,
since the error is already reported by the called functions.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/samsung/tm2_wm5110.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/sound/soc/samsung/tm2_wm5110.c b/sound/soc/samsung/tm2_wm5110.c
index f1f59e059f5d..f4912826dfd4 100644
--- a/sound/soc/samsung/tm2_wm5110.c
+++ b/sound/soc/samsung/tm2_wm5110.c
@@ -518,19 +518,15 @@ static int tm2_probe(struct platform_device *pdev)
}
ret = snd_soc_of_parse_card_name(card, "model");
- if (ret < 0) {
- dev_err(dev, "Card name is not specified\n");
+ if (ret < 0)
return ret;
- }
ret = snd_soc_of_parse_audio_routing(card, "audio-routing");
if (ret < 0) {
/* Backwards compatible way */
ret = snd_soc_of_parse_audio_routing(card, "samsung,audio-routing");
- if (ret < 0) {
- dev_err(dev, "Audio routing is not specified or invalid\n");
+ if (ret < 0)
return ret;
- }
}
card->aux_dev[0].dlc.of_node = of_parse_phandle(dev->of_node,
@@ -609,10 +605,8 @@ static int tm2_probe(struct platform_device *pdev)
ret = devm_snd_soc_register_component(dev, &tm2_component,
tm2_ext_dai, ARRAY_SIZE(tm2_ext_dai));
- if (ret < 0) {
- dev_err(dev, "Failed to register component: %d\n", ret);
+ if (ret < 0)
goto dai_node_put;
- }
ret = devm_snd_soc_register_card(dev, card);
if (ret < 0) {
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 2/6] ASoC: samsung: aries_wm8994: Drop redundant probe error messages
2026-08-11 9:05 ` [PATCH 2/6] ASoC: samsung: aries_wm8994: Drop redundant probe error messages phucduc.bui
@ 2026-08-11 13:10 ` Cezary Rojewski
0 siblings, 0 replies; 11+ messages in thread
From: Cezary Rojewski @ 2026-08-11 13:10 UTC (permalink / raw)
To: phucduc.bui
Cc: linux-sound, linux-kernel, Sylwester Nawrocki, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai
On 8/11/2026 11:05 AM, phucduc.bui@gmail.com wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
>
> Remove the probe error messages to avoid duplicate error reporting,
> since the error is already reported by the called functions.
...
> @@ -671,10 +667,8 @@ static int aries_audio_probe(struct platform_device *pdev)
>
> ret = devm_snd_soc_register_component(dev, &aries_component,
> aries_ext_dai, ARRAY_SIZE(aries_ext_dai));
> - if (ret < 0) {
> - dev_err(dev, "Failed to register component: %d\n", ret);
> + if (ret < 0)
> goto out;
> - }
To be fair, xxx_snd_soc_register_component(), both the devres and the
non-devres equivalent do not report anything. The
component_initialize() and component_add() do though, most of the time.
>
> ret = devm_snd_soc_register_card(dev, card);
> if (ret)
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 5/6] ASoC: samsung: spdif: Drop redundant probe error messages
2026-08-11 9:05 ` [PATCH 5/6] ASoC: samsung: spdif: " phucduc.bui
@ 2026-08-11 13:16 ` Cezary Rojewski
0 siblings, 0 replies; 11+ messages in thread
From: Cezary Rojewski @ 2026-08-11 13:16 UTC (permalink / raw)
To: phucduc.bui
Cc: linux-sound, linux-kernel, Sylwester Nawrocki, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai
On 8/11/2026 11:05 AM, phucduc.bui@gmail.com wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
>
> Remove the probe error messages to avoid duplicate error reporting,
> since the error is already reported by the called functions.
...
> @@ -415,19 +415,15 @@ static int spdif_probe(struct platform_device *pdev)
>
> ret = samsung_asoc_dma_platform_register(&pdev->dev, filter,
> NULL, NULL, NULL);
> - if (ret) {
> - dev_err(&pdev->dev, "failed to register DMA: %d\n", ret);
Which function reports the dmaengine registration failure?
> + if (ret)
> goto err2;
> - }
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/6] ASoC: samsung: aries_wm8994: Preserve gpiod_to_irq() error codes
2026-08-11 9:05 ` [PATCH 1/6] ASoC: samsung: aries_wm8994: Preserve gpiod_to_irq() error codes phucduc.bui
@ 2026-08-11 13:17 ` Cezary Rojewski
0 siblings, 0 replies; 11+ messages in thread
From: Cezary Rojewski @ 2026-08-11 13:17 UTC (permalink / raw)
To: phucduc.bui
Cc: linux-sound, linux-kernel, Sylwester Nawrocki, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai
On 8/11/2026 11:05 AM, phucduc.bui@gmail.com wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
>
> gpiod_to_irq() can currently return several error codes, including
> -ENXIO, -ENODEV, -EPROBE_DEFER, and -EINVAL.
>
> Return the original error code instead of overwriting it with -EINVAL,
> so that the actual failure reason is preserved.
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/6] ASoC: samsung: pcm: Use dev_err_probe() for error handling
2026-08-11 9:05 ` [PATCH 3/6] ASoC: samsung: pcm: Use dev_err_probe() for error handling phucduc.bui
@ 2026-08-11 13:21 ` Cezary Rojewski
0 siblings, 0 replies; 11+ messages in thread
From: Cezary Rojewski @ 2026-08-11 13:21 UTC (permalink / raw)
To: phucduc.bui
Cc: linux-sound, linux-kernel, Sylwester Nawrocki, Liam Girdwood,
Mark Brown, Jaroslav Kysela, Takashi Iwai
On 8/11/2026 11:05 AM, 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.
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-08-11 13:21 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-11 9:05 [PATCH 0/6] ASoC: samsung: Improve probe error handling phucduc.bui
2026-08-11 9:05 ` [PATCH 1/6] ASoC: samsung: aries_wm8994: Preserve gpiod_to_irq() error codes phucduc.bui
2026-08-11 13:17 ` Cezary Rojewski
2026-08-11 9:05 ` [PATCH 2/6] ASoC: samsung: aries_wm8994: Drop redundant probe error messages phucduc.bui
2026-08-11 13:10 ` Cezary Rojewski
2026-08-11 9:05 ` [PATCH 3/6] ASoC: samsung: pcm: Use dev_err_probe() for error handling phucduc.bui
2026-08-11 13:21 ` Cezary Rojewski
2026-08-11 9:05 ` [PATCH 4/6] ASoC: samsung: pcm: Drop redundant probe error messages phucduc.bui
2026-08-11 9:05 ` [PATCH 5/6] ASoC: samsung: spdif: " phucduc.bui
2026-08-11 13:16 ` Cezary Rojewski
2026-08-11 9:05 ` [PATCH 6/6] ASoC: samsung: tm2_wm5110: " phucduc.bui
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox