ASoC: stm32: spdifrx: improve error management on probe deferral

Do not print an error trace when deferring probe for SPDIFRX driver.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Link: https://lore.kernel.org/r/20200203100814.22944-6-olivier.moysan@st.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Olivier Moysan 2020-02-03 11:08:13 +01:00 committed by Mark Brown
parent 5183e85423
commit d49bd5ed24
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -406,7 +406,9 @@ static int stm32_spdifrx_dma_ctrl_register(struct device *dev,
spdifrx->ctrl_chan = dma_request_chan(dev, "rx-ctrl");
if (IS_ERR(spdifrx->ctrl_chan)) {
dev_err(dev, "dma_request_slave_channel failed\n");
if (PTR_ERR(spdifrx->ctrl_chan) != -EPROBE_DEFER)
dev_err(dev, "dma_request_slave_channel error %ld\n",
PTR_ERR(spdifrx->ctrl_chan));
return PTR_ERR(spdifrx->ctrl_chan);
}
@ -929,7 +931,9 @@ static int stm32_spdifrx_parse_of(struct platform_device *pdev,
spdifrx->kclk = devm_clk_get(&pdev->dev, "kclk");
if (IS_ERR(spdifrx->kclk)) {
dev_err(&pdev->dev, "Could not get kclk\n");
if (PTR_ERR(spdifrx->kclk) != -EPROBE_DEFER)
dev_err(&pdev->dev, "Could not get kclk: %ld\n",
PTR_ERR(spdifrx->kclk));
return PTR_ERR(spdifrx->kclk);
}
@ -967,7 +971,9 @@ static int stm32_spdifrx_probe(struct platform_device *pdev)
spdifrx->base,
spdifrx->regmap_conf);
if (IS_ERR(spdifrx->regmap)) {
dev_err(&pdev->dev, "Regmap init failed\n");
if (PTR_ERR(spdifrx->regmap) != -EPROBE_DEFER)
dev_err(&pdev->dev, "Regmap init error %ld\n",
PTR_ERR(spdifrx->regmap));
return PTR_ERR(spdifrx->regmap);
}
@ -1003,7 +1009,8 @@ static int stm32_spdifrx_probe(struct platform_device *pdev)
pcm_config = &stm32_spdifrx_pcm_config;
ret = devm_snd_dmaengine_pcm_register(&pdev->dev, pcm_config, 0);
if (ret) {
dev_err(&pdev->dev, "PCM DMA register returned %d\n", ret);
if (ret != -EPROBE_DEFER)
dev_err(&pdev->dev, "PCM DMA register error %d\n", ret);
goto error;
}