ASoC: sun4i-i2s: Register regmap and PCM before our component
authorMaxime Ripard <maxime.ripard@bootlin.com>
Mon, 19 Aug 2019 19:25:08 +0000 (21:25 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 20 Aug 2019 17:03:20 +0000 (18:03 +0100)
So far the regmap and the dmaengine PCM are registered after our component
has been, which means that our driver isn't properly initialised by then.

Let's fix that.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://lore.kernel.org/r/67e303f37f141ef73ce9ed47d7f831b63c694424.1566242458.git-series.maxime.ripard@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sunxi/sun4i-i2s.c

index 7fa5c61169db00f103e7658020e60610534c4c84..85c3b2c8cd77498951eb27f1999c2dfb6110977d 100644 (file)
@@ -1148,11 +1148,9 @@ static int sun4i_i2s_probe(struct platform_device *pdev)
                        goto err_pm_disable;
        }
 
-       ret = devm_snd_soc_register_component(&pdev->dev,
-                                             &sun4i_i2s_component,
-                                             &sun4i_i2s_dai, 1);
+       ret = sun4i_i2s_init_regmap_fields(&pdev->dev, i2s);
        if (ret) {
-               dev_err(&pdev->dev, "Could not register DAI\n");
+               dev_err(&pdev->dev, "Could not initialise regmap fields\n");
                goto err_suspend;
        }
 
@@ -1162,9 +1160,11 @@ static int sun4i_i2s_probe(struct platform_device *pdev)
                goto err_suspend;
        }
 
-       ret = sun4i_i2s_init_regmap_fields(&pdev->dev, i2s);
+       ret = devm_snd_soc_register_component(&pdev->dev,
+                                             &sun4i_i2s_component,
+                                             &sun4i_i2s_dai, 1);
        if (ret) {
-               dev_err(&pdev->dev, "Could not initialise regmap fields\n");
+               dev_err(&pdev->dev, "Could not register DAI\n");
                goto err_suspend;
        }