ASoC: fsl_sai: Add -EPROBE_DEFER check for regmap init
authorShengjiu Wang <shengjiu.wang@nxp.com>
Mon, 24 Aug 2020 07:58:07 +0000 (15:58 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 24 Aug 2020 12:59:46 +0000 (13:59 +0100)
Regmap initialization may return -EPROBE_DEFER for clock
may not be ready, so check -EPROBE_DEFER error type before
start another Regmap initialization.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Link: https://lore.kernel.org/r/1598255887-1391-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl_sai.c

index f6969a5..62c5fdb 100644 (file)
@@ -959,7 +959,7 @@ static int fsl_sai_probe(struct platform_device *pdev)
                        "bus", base, &fsl_sai_regmap_config);
 
        /* Compatible with old DTB cases */
-       if (IS_ERR(sai->regmap))
+       if (IS_ERR(sai->regmap) && PTR_ERR(sai->regmap) != -EPROBE_DEFER)
                sai->regmap = devm_regmap_init_mmio_clk(&pdev->dev,
                                "sai", base, &fsl_sai_regmap_config);
        if (IS_ERR(sai->regmap)) {