Commit 990fcfef authored by Mark Brown's avatar Mark Brown

Merge branch 'fix/samsung' of...

Merge branch 'fix/samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-samsung
parents 2ef9555b 73f5dfc6
...@@ -383,11 +383,6 @@ static int s3c_ac97_probe(struct platform_device *pdev) ...@@ -383,11 +383,6 @@ static int s3c_ac97_probe(struct platform_device *pdev)
goto err4; goto err4;
} }
ret = devm_snd_soc_register_component(&pdev->dev, &s3c_ac97_component,
s3c_ac97_dai, ARRAY_SIZE(s3c_ac97_dai));
if (ret)
goto err5;
ret = samsung_asoc_dma_platform_register(&pdev->dev, ret = samsung_asoc_dma_platform_register(&pdev->dev,
ac97_pdata->dma_filter, ac97_pdata->dma_filter,
NULL, NULL); NULL, NULL);
...@@ -396,6 +391,11 @@ static int s3c_ac97_probe(struct platform_device *pdev) ...@@ -396,6 +391,11 @@ static int s3c_ac97_probe(struct platform_device *pdev)
goto err5; goto err5;
} }
ret = devm_snd_soc_register_component(&pdev->dev, &s3c_ac97_component,
s3c_ac97_dai, ARRAY_SIZE(s3c_ac97_dai));
if (ret)
goto err5;
return 0; return 0;
err5: err5:
free_irq(irq_res->start, NULL); free_irq(irq_res->start, NULL);
......
...@@ -1238,14 +1238,14 @@ static int samsung_i2s_probe(struct platform_device *pdev) ...@@ -1238,14 +1238,14 @@ static int samsung_i2s_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "Unable to get drvdata\n"); dev_err(&pdev->dev, "Unable to get drvdata\n");
return -EFAULT; return -EFAULT;
} }
ret = devm_snd_soc_register_component(&sec_dai->pdev->dev, ret = samsung_asoc_dma_platform_register(&pdev->dev,
&samsung_i2s_component, sec_dai->filter, "tx-sec", NULL);
&sec_dai->i2s_dai_drv, 1);
if (ret != 0) if (ret != 0)
return ret; return ret;
return samsung_asoc_dma_platform_register(&pdev->dev, return devm_snd_soc_register_component(&sec_dai->pdev->dev,
sec_dai->filter, "tx-sec", NULL); &samsung_i2s_component,
&sec_dai->i2s_dai_drv, 1);
} }
pri_dai = i2s_alloc_dai(pdev, false); pri_dai = i2s_alloc_dai(pdev, false);
...@@ -1313,6 +1313,11 @@ static int samsung_i2s_probe(struct platform_device *pdev) ...@@ -1313,6 +1313,11 @@ static int samsung_i2s_probe(struct platform_device *pdev)
if (quirks & QUIRK_PRI_6CHAN) if (quirks & QUIRK_PRI_6CHAN)
pri_dai->i2s_dai_drv.playback.channels_max = 6; 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) { if (quirks & QUIRK_SEC_DAI) {
sec_dai = i2s_alloc_dai(pdev, true); sec_dai = i2s_alloc_dai(pdev, true);
if (!sec_dai) { if (!sec_dai) {
...@@ -1351,10 +1356,6 @@ static int samsung_i2s_probe(struct platform_device *pdev) ...@@ -1351,10 +1356,6 @@ static int samsung_i2s_probe(struct platform_device *pdev)
if (ret < 0) if (ret < 0)
goto err_free_dai; 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); pm_runtime_enable(&pdev->dev);
......
...@@ -565,24 +565,25 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev) ...@@ -565,24 +565,25 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
pcm->dma_capture = &s3c_pcm_stereo_in[pdev->id]; pcm->dma_capture = &s3c_pcm_stereo_in[pdev->id];
pcm->dma_playback = &s3c_pcm_stereo_out[pdev->id]; pcm->dma_playback = &s3c_pcm_stereo_out[pdev->id];
ret = samsung_asoc_dma_platform_register(&pdev->dev, filter,
NULL, NULL);
if (ret) {
dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret);
goto err5;
}
pm_runtime_enable(&pdev->dev); pm_runtime_enable(&pdev->dev);
ret = devm_snd_soc_register_component(&pdev->dev, &s3c_pcm_component, ret = devm_snd_soc_register_component(&pdev->dev, &s3c_pcm_component,
&s3c_pcm_dai[pdev->id], 1); &s3c_pcm_dai[pdev->id], 1);
if (ret != 0) { if (ret != 0) {
dev_err(&pdev->dev, "failed to get register DAI: %d\n", ret); dev_err(&pdev->dev, "failed to get register DAI: %d\n", ret);
goto err5; goto err6;
}
ret = samsung_asoc_dma_platform_register(&pdev->dev, filter,
NULL, NULL);
if (ret) {
dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret);
goto err5;
} }
return 0; return 0;
err6:
pm_runtime_disable(&pdev->dev);
err5: err5:
clk_disable_unprepare(pcm->pclk); clk_disable_unprepare(pcm->pclk);
err4: err4:
......
...@@ -166,19 +166,19 @@ static int s3c2412_iis_dev_probe(struct platform_device *pdev) ...@@ -166,19 +166,19 @@ static int s3c2412_iis_dev_probe(struct platform_device *pdev)
s3c2412_i2s_pcm_stereo_in.addr = res->start + S3C2412_IISRXD; s3c2412_i2s_pcm_stereo_in.addr = res->start + S3C2412_IISRXD;
s3c2412_i2s_pcm_stereo_in.filter_data = pdata->dma_capture; s3c2412_i2s_pcm_stereo_in.filter_data = pdata->dma_capture;
ret = s3c_i2sv2_register_component(&pdev->dev, -1, ret = samsung_asoc_dma_platform_register(&pdev->dev,
&s3c2412_i2s_component, pdata->dma_filter,
&s3c2412_i2s_dai); NULL, NULL);
if (ret) { if (ret) {
pr_err("failed to register the dai\n"); pr_err("failed to register the DMA: %d\n", ret);
return ret; return ret;
} }
ret = samsung_asoc_dma_platform_register(&pdev->dev, ret = s3c_i2sv2_register_component(&pdev->dev, -1,
pdata->dma_filter, &s3c2412_i2s_component,
NULL, NULL); &s3c2412_i2s_dai);
if (ret) if (ret)
pr_err("failed to register the DMA: %d\n", ret); pr_err("failed to register the dai\n");
return ret; return ret;
} }
......
...@@ -440,17 +440,18 @@ static int s3c24xx_iis_dev_probe(struct platform_device *pdev) ...@@ -440,17 +440,18 @@ static int s3c24xx_iis_dev_probe(struct platform_device *pdev)
s3c24xx_i2s_pcm_stereo_out.addr = res->start + S3C2410_IISFIFO; s3c24xx_i2s_pcm_stereo_out.addr = res->start + S3C2410_IISFIFO;
s3c24xx_i2s_pcm_stereo_in.addr = res->start + S3C2410_IISFIFO; s3c24xx_i2s_pcm_stereo_in.addr = res->start + S3C2410_IISFIFO;
ret = devm_snd_soc_register_component(&pdev->dev, ret = samsung_asoc_dma_platform_register(&pdev->dev,
&s3c24xx_i2s_component, &s3c24xx_i2s_dai, 1); pdata->dma_filter,
NULL, NULL);
if (ret) { if (ret) {
dev_err(&pdev->dev, "Failed to register the DAI\n"); dev_err(&pdev->dev, "Failed to register the DAI\n");
return ret; return ret;
} }
ret = samsung_asoc_dma_platform_register(&pdev->dev, NULL, ret = devm_snd_soc_register_component(&pdev->dev,
NULL, NULL); &s3c24xx_i2s_component, &s3c24xx_i2s_dai, 1);
if (ret) if (ret)
dev_err(&pdev->dev, "Failed to register the DMA: %d\n", ret); pr_err("failed to register the dai\n");
return ret; return ret;
} }
......
...@@ -416,6 +416,13 @@ static int spdif_probe(struct platform_device *pdev) ...@@ -416,6 +416,13 @@ static int spdif_probe(struct platform_device *pdev)
goto err3; goto err3;
} }
ret = samsung_asoc_dma_platform_register(&pdev->dev, filter,
NULL, NULL);
if (ret) {
dev_err(&pdev->dev, "failed to register DMA: %d\n", ret);
goto err4;
}
dev_set_drvdata(&pdev->dev, spdif); dev_set_drvdata(&pdev->dev, spdif);
ret = devm_snd_soc_register_component(&pdev->dev, ret = devm_snd_soc_register_component(&pdev->dev,
...@@ -435,13 +442,6 @@ static int spdif_probe(struct platform_device *pdev) ...@@ -435,13 +442,6 @@ static int spdif_probe(struct platform_device *pdev)
spdif->dma_playback = &spdif_stereo_out; spdif->dma_playback = &spdif_stereo_out;
ret = samsung_asoc_dma_platform_register(&pdev->dev, filter,
NULL, NULL);
if (ret) {
dev_err(&pdev->dev, "failed to register DMA: %d\n", ret);
goto err4;
}
return 0; return 0;
err4: err4:
iounmap(spdif->regs); iounmap(spdif->regs);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment