ASoC: stm32: sai: improve error management on probe deferral
authorOlivier Moysan <olivier.moysan@st.com>
Mon, 3 Feb 2020 10:08:12 +0000 (11:08 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 11 Feb 2020 11:24:05 +0000 (11:24 +0000)
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>
sound/soc/stm/stm32_sai.c
sound/soc/stm/stm32_sai_sub.c

index b824ba6..058757c 100644 (file)
@@ -174,20 +174,26 @@ static int stm32_sai_probe(struct platform_device *pdev)
        if (!STM_SAI_IS_F4(sai)) {
                sai->pclk = devm_clk_get(&pdev->dev, "pclk");
                if (IS_ERR(sai->pclk)) {
-                       dev_err(&pdev->dev, "missing bus clock pclk\n");
+                       if (PTR_ERR(sai->pclk) != -EPROBE_DEFER)
+                               dev_err(&pdev->dev, "missing bus clock pclk: %ld\n",
+                                       PTR_ERR(sai->pclk));
                        return PTR_ERR(sai->pclk);
                }
        }
 
        sai->clk_x8k = devm_clk_get(&pdev->dev, "x8k");
        if (IS_ERR(sai->clk_x8k)) {
-               dev_err(&pdev->dev, "missing x8k parent clock\n");
+               if (PTR_ERR(sai->clk_x8k) != -EPROBE_DEFER)
+                       dev_err(&pdev->dev, "missing x8k parent clock: %ld\n",
+                               PTR_ERR(sai->clk_x8k));
                return PTR_ERR(sai->clk_x8k);
        }
 
        sai->clk_x11k = devm_clk_get(&pdev->dev, "x11k");
        if (IS_ERR(sai->clk_x11k)) {
-               dev_err(&pdev->dev, "missing x11k parent clock\n");
+               if (PTR_ERR(sai->clk_x11k) != -EPROBE_DEFER)
+                       dev_err(&pdev->dev, "missing x11k parent clock: %ld\n",
+                               PTR_ERR(sai->clk_x11k));
                return PTR_ERR(sai->clk_x11k);
        }
 
index 30bcd5d..0bbf9ed 100644 (file)
@@ -1380,7 +1380,9 @@ static int stm32_sai_sub_parse_of(struct platform_device *pdev,
        sai->regmap = devm_regmap_init_mmio(&pdev->dev, base,
                                            sai->regmap_config);
        if (IS_ERR(sai->regmap)) {
-               dev_err(&pdev->dev, "Failed to initialize MMIO\n");
+               if (PTR_ERR(sai->regmap) != -EPROBE_DEFER)
+                       dev_err(&pdev->dev, "Regmap init error %ld\n",
+                               PTR_ERR(sai->regmap));
                return PTR_ERR(sai->regmap);
        }
 
@@ -1471,7 +1473,9 @@ static int stm32_sai_sub_parse_of(struct platform_device *pdev,
        of_node_put(args.np);
        sai->sai_ck = devm_clk_get(&pdev->dev, "sai_ck");
        if (IS_ERR(sai->sai_ck)) {
-               dev_err(&pdev->dev, "Missing kernel clock sai_ck\n");
+               if (PTR_ERR(sai->sai_ck) != -EPROBE_DEFER)
+                       dev_err(&pdev->dev, "Missing kernel clock sai_ck: %ld\n",
+                               PTR_ERR(sai->sai_ck));
                return PTR_ERR(sai->sai_ck);
        }
 
@@ -1553,7 +1557,8 @@ static int stm32_sai_sub_probe(struct platform_device *pdev)
 
        ret = devm_snd_dmaengine_pcm_register(&pdev->dev, conf, 0);
        if (ret) {
-               dev_err(&pdev->dev, "Could not register pcm dma\n");
+               if (ret != -EPROBE_DEFER)
+                       dev_err(&pdev->dev, "PCM DMA register error %d\n", ret);
                return ret;
        }