|
@@ -1238,14 +1238,14 @@ static int samsung_i2s_probe(struct platform_device *pdev)
|
|
|
dev_err(&pdev->dev, "Unable to get drvdata\n");
|
|
|
return -EFAULT;
|
|
|
}
|
|
|
- ret = devm_snd_soc_register_component(&sec_dai->pdev->dev,
|
|
|
- &samsung_i2s_component,
|
|
|
- &sec_dai->i2s_dai_drv, 1);
|
|
|
+ ret = samsung_asoc_dma_platform_register(&pdev->dev,
|
|
|
+ sec_dai->filter, "tx-sec", NULL);
|
|
|
if (ret != 0)
|
|
|
return ret;
|
|
|
|
|
|
- return samsung_asoc_dma_platform_register(&pdev->dev,
|
|
|
- sec_dai->filter, "tx-sec", NULL);
|
|
|
+ return devm_snd_soc_register_component(&sec_dai->pdev->dev,
|
|
|
+ &samsung_i2s_component,
|
|
|
+ &sec_dai->i2s_dai_drv, 1);
|
|
|
}
|
|
|
|
|
|
pri_dai = i2s_alloc_dai(pdev, false);
|
|
@@ -1313,6 +1313,11 @@ static int samsung_i2s_probe(struct platform_device *pdev)
|
|
|
if (quirks & QUIRK_PRI_6CHAN)
|
|
|
pri_dai->i2s_dai_drv.playback.channels_max = 6;
|
|
|
|
|
|
+ ret = samsung_asoc_dma_platform_register(&pdev->dev, pri_dai->filter,
|
|
|
+ NULL, NULL);
|
|
|
+ if (ret < 0)
|
|
|
+ goto err_disable_clk;
|
|
|
+
|
|
|
if (quirks & QUIRK_SEC_DAI) {
|
|
|
sec_dai = i2s_alloc_dai(pdev, true);
|
|
|
if (!sec_dai) {
|
|
@@ -1351,10 +1356,6 @@ static int samsung_i2s_probe(struct platform_device *pdev)
|
|
|
if (ret < 0)
|
|
|
goto err_free_dai;
|
|
|
|
|
|
- ret = samsung_asoc_dma_platform_register(&pdev->dev, pri_dai->filter,
|
|
|
- NULL, NULL);
|
|
|
- if (ret < 0)
|
|
|
- goto err_free_dai;
|
|
|
|
|
|
pm_runtime_enable(&pdev->dev);
|
|
|
|