Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

Do not print an error trace when deferring probe for SAI 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-5-olivier.moysan@st.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Olivier Moysan and committed by
Mark Brown
5183e854 158ecc65

+17 -6
+9 -3
sound/soc/stm/stm32_sai.c
··· 174 174 if (!STM_SAI_IS_F4(sai)) { 175 175 sai->pclk = devm_clk_get(&pdev->dev, "pclk"); 176 176 if (IS_ERR(sai->pclk)) { 177 - dev_err(&pdev->dev, "missing bus clock pclk\n"); 177 + if (PTR_ERR(sai->pclk) != -EPROBE_DEFER) 178 + dev_err(&pdev->dev, "missing bus clock pclk: %ld\n", 179 + PTR_ERR(sai->pclk)); 178 180 return PTR_ERR(sai->pclk); 179 181 } 180 182 } 181 183 182 184 sai->clk_x8k = devm_clk_get(&pdev->dev, "x8k"); 183 185 if (IS_ERR(sai->clk_x8k)) { 184 - dev_err(&pdev->dev, "missing x8k parent clock\n"); 186 + if (PTR_ERR(sai->clk_x8k) != -EPROBE_DEFER) 187 + dev_err(&pdev->dev, "missing x8k parent clock: %ld\n", 188 + PTR_ERR(sai->clk_x8k)); 185 189 return PTR_ERR(sai->clk_x8k); 186 190 } 187 191 188 192 sai->clk_x11k = devm_clk_get(&pdev->dev, "x11k"); 189 193 if (IS_ERR(sai->clk_x11k)) { 190 - dev_err(&pdev->dev, "missing x11k parent clock\n"); 194 + if (PTR_ERR(sai->clk_x11k) != -EPROBE_DEFER) 195 + dev_err(&pdev->dev, "missing x11k parent clock: %ld\n", 196 + PTR_ERR(sai->clk_x11k)); 191 197 return PTR_ERR(sai->clk_x11k); 192 198 } 193 199
+8 -3
sound/soc/stm/stm32_sai_sub.c
··· 1380 1380 sai->regmap = devm_regmap_init_mmio(&pdev->dev, base, 1381 1381 sai->regmap_config); 1382 1382 if (IS_ERR(sai->regmap)) { 1383 - dev_err(&pdev->dev, "Failed to initialize MMIO\n"); 1383 + if (PTR_ERR(sai->regmap) != -EPROBE_DEFER) 1384 + dev_err(&pdev->dev, "Regmap init error %ld\n", 1385 + PTR_ERR(sai->regmap)); 1384 1386 return PTR_ERR(sai->regmap); 1385 1387 } 1386 1388 ··· 1473 1471 of_node_put(args.np); 1474 1472 sai->sai_ck = devm_clk_get(&pdev->dev, "sai_ck"); 1475 1473 if (IS_ERR(sai->sai_ck)) { 1476 - dev_err(&pdev->dev, "Missing kernel clock sai_ck\n"); 1474 + if (PTR_ERR(sai->sai_ck) != -EPROBE_DEFER) 1475 + dev_err(&pdev->dev, "Missing kernel clock sai_ck: %ld\n", 1476 + PTR_ERR(sai->sai_ck)); 1477 1477 return PTR_ERR(sai->sai_ck); 1478 1478 } 1479 1479 ··· 1557 1553 1558 1554 ret = devm_snd_dmaengine_pcm_register(&pdev->dev, conf, 0); 1559 1555 if (ret) { 1560 - dev_err(&pdev->dev, "Could not register pcm dma\n"); 1556 + if (ret != -EPROBE_DEFER) 1557 + dev_err(&pdev->dev, "PCM DMA register error %d\n", ret); 1561 1558 return ret; 1562 1559 } 1563 1560