Unverified Commit 5183e854 authored by Olivier Moysan's avatar Olivier Moysan Committed by Mark Brown
Browse files

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



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

Signed-off-by: default avatarEtienne Carriere <etienne.carriere@st.com>
Signed-off-by: default avatarOlivier Moysan <olivier.moysan@st.com>
Link: https://lore.kernel.org/r/20200203100814.22944-5-olivier.moysan@st.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 158ecc65
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -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);
	}

+8 −3
Original line number Diff line number Diff line
@@ -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;
	}