ASoC: ti: Improve probe error handling

From: bui duc phuc <phucduc.bui@gmail.com> says:

This series cleans up probe error handling across several TI ASoC
drivers.

The changes fall into two categories:
 1.Replace dev_err() with dev_err_probe() when reporting probe
   failures. This preserves the original error code while suppressing
   unnecessary log messages for deferred probe errors.
 2.Preserve the original error codes returned by helper functions
   instead of converting them to -ENODEV, and remove redundant error
   messages where the helper already reports the failure.

Build-tested only.

Link: https://patch.msgid.link/20260716103911.77652-1-phucduc.bui@gmail.com
This commit is contained in:
Mark Brown 2026-07-28 19:44:03 +01:00
commit 9d21577c23
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
8 changed files with 32 additions and 46 deletions

View File

@ -574,9 +574,9 @@ static int ams_delta_probe(struct platform_device *pdev)
ret = snd_soc_register_card(card);
if (ret) {
dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret);
card->dev = NULL;
return ret;
return dev_err_probe(&pdev->dev, ret,
"snd_soc_register_card() failed\n");
}
return 0;
}

View File

@ -245,9 +245,8 @@ static int davinci_evm_probe(struct platform_device *pdev)
snd_soc_card_set_drvdata(&evm_soc_card, drvdata);
ret = devm_snd_soc_register_card(&pdev->dev, &evm_soc_card);
if (ret) {
dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret);
dev_err_probe(&pdev->dev, ret, "snd_soc_register_card() failed\n");
goto err_put;
}

View File

@ -870,10 +870,9 @@ static int j721e_soc_probe(struct platform_device *pdev)
card->num_dapm_routes = ARRAY_SIZE(j721e_cpb_dapm_routes);
card->fully_routed = 1;
if (snd_soc_of_parse_card_name(card, "model")) {
dev_err(&pdev->dev, "Card name is not provided\n");
return -ENODEV;
}
ret = snd_soc_of_parse_card_name(card, "model");
if (ret)
return ret;
link_cnt = 0;
conf_cnt = 0;

View File

@ -234,16 +234,13 @@ static int omap_abe_probe(struct platform_device *pdev)
card->dapm_routes = audio_map;
card->num_dapm_routes = ARRAY_SIZE(audio_map);
if (snd_soc_of_parse_card_name(card, "ti,model")) {
dev_err(&pdev->dev, "Card name is not provided\n");
return -ENODEV;
}
ret = snd_soc_of_parse_card_name(card, "ti,model");
if (ret)
return ret;
ret = snd_soc_of_parse_audio_routing(card, "ti,audio-routing");
if (ret) {
dev_err(&pdev->dev, "Error while parsing DAPM routing\n");
if (ret)
return ret;
}
dai_node = of_parse_phandle(node, "ti,mcpdm", 0);
if (!dai_node) {
@ -299,8 +296,8 @@ static int omap_abe_probe(struct platform_device *pdev)
ret = devm_snd_soc_register_card(&pdev->dev, card);
if (ret)
dev_err(&pdev->dev, "devm_snd_soc_register_card() failed: %d\n",
ret);
dev_err_probe(&pdev->dev, ret,
"devm_snd_soc_register_card() failed\n");
return ret;
}

View File

@ -465,10 +465,9 @@ static int asoc_dmic_probe(struct platform_device *pdev)
mutex_init(&dmic->mutex);
dmic->fclk = devm_clk_get(dmic->dev, "fck");
if (IS_ERR(dmic->fclk)) {
dev_err(dmic->dev, "can't get fck\n");
return -ENODEV;
}
if (IS_ERR(dmic->fclk))
return dev_err_probe(dmic->dev, PTR_ERR(dmic->fclk),
"can't get fck\n");
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dma");
if (!res) {

View File

@ -375,10 +375,8 @@ static int omap_hdmi_audio_probe(struct platform_device *pdev)
card->dev = dev;
ret = devm_snd_soc_register_card(dev, card);
if (ret) {
dev_err(dev, "snd_soc_register_card failed (%d)\n", ret);
return ret;
}
if (ret)
return dev_err_probe(dev, ret, "snd_soc_register_card() failed\n");
ad->card = card;
snd_soc_card_set_drvdata(card, ad);

View File

@ -255,11 +255,9 @@ static int omap_twl4030_probe(struct platform_device *pdev)
snd_soc_card_set_drvdata(card, priv);
ret = devm_snd_soc_register_card(&pdev->dev, card);
if (ret) {
dev_err(&pdev->dev, "devm_snd_soc_register_card() failed: %d\n",
ret);
return ret;
}
if (ret)
return dev_err_probe(&pdev->dev, ret,
"devm_snd_soc_register_card() failed\n");
return 0;
}

View File

@ -418,31 +418,27 @@ static int rx51_soc_probe(struct platform_device *pdev)
pdata->tvout_selection_gpio = devm_gpiod_get(card->dev,
"tvout-selection",
GPIOD_OUT_LOW);
if (IS_ERR(pdata->tvout_selection_gpio)) {
dev_err(card->dev, "could not get tvout selection gpio\n");
return PTR_ERR(pdata->tvout_selection_gpio);
}
if (IS_ERR(pdata->tvout_selection_gpio))
return dev_err_probe(card->dev, PTR_ERR(pdata->tvout_selection_gpio),
"could not get tvout selection gpio\n");
pdata->eci_sw_gpio = devm_gpiod_get(card->dev, "eci-switch",
GPIOD_OUT_HIGH);
if (IS_ERR(pdata->eci_sw_gpio)) {
dev_err(card->dev, "could not get eci switch gpio\n");
return PTR_ERR(pdata->eci_sw_gpio);
}
if (IS_ERR(pdata->eci_sw_gpio))
return dev_err_probe(card->dev, PTR_ERR(pdata->eci_sw_gpio),
"could not get eci switch gpio\n");
pdata->speaker_amp_gpio = devm_gpiod_get(card->dev,
"speaker-amplifier",
GPIOD_OUT_LOW);
if (IS_ERR(pdata->speaker_amp_gpio)) {
dev_err(card->dev, "could not get speaker enable gpio\n");
return PTR_ERR(pdata->speaker_amp_gpio);
}
if (IS_ERR(pdata->speaker_amp_gpio))
return dev_err_probe(card->dev, PTR_ERR(pdata->speaker_amp_gpio),
"could not get speaker enable gpio\n");
err = devm_snd_soc_register_card(card->dev, card);
if (err) {
dev_err(card->dev, "snd_soc_register_card failed (%d)\n", err);
return err;
}
if (err)
return dev_err_probe(card->dev, err,
"snd_soc_register_card() failed\n");
return 0;
}