diff options
| author | Mark Brown <broonie@kernel.org> | 2016-10-28 13:33:24 -0400 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2016-10-28 13:33:24 -0400 |
| commit | 990fcfefc925a959e204a44fc479efcc236ebced (patch) | |
| tree | 207452dfd2502b216c568e75c65583fdf43a9e81 | |
| parent | 2ef9555bd13d00c63fdbe3cdca6ab0e2ded42695 (diff) | |
| parent | 73f5dfc68316bef2ab7062ecdefd4b0ca941b4c1 (diff) | |
Merge branch 'fix/samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-samsung
| -rw-r--r-- | sound/soc/samsung/ac97.c | 10 | ||||
| -rw-r--r-- | sound/soc/samsung/i2s.c | 19 | ||||
| -rw-r--r-- | sound/soc/samsung/pcm.c | 19 | ||||
| -rw-r--r-- | sound/soc/samsung/s3c2412-i2s.c | 16 | ||||
| -rw-r--r-- | sound/soc/samsung/s3c24xx-i2s.c | 11 | ||||
| -rw-r--r-- | sound/soc/samsung/spdif.c | 14 |
6 files changed, 46 insertions, 43 deletions
diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c index 97d6700b1009..cbc0023c2bc8 100644 --- a/sound/soc/samsung/ac97.c +++ b/sound/soc/samsung/ac97.c | |||
| @@ -383,11 +383,6 @@ static int s3c_ac97_probe(struct platform_device *pdev) | |||
| 383 | goto err4; | 383 | goto err4; |
| 384 | } | 384 | } |
| 385 | 385 | ||
| 386 | ret = devm_snd_soc_register_component(&pdev->dev, &s3c_ac97_component, | ||
| 387 | s3c_ac97_dai, ARRAY_SIZE(s3c_ac97_dai)); | ||
| 388 | if (ret) | ||
| 389 | goto err5; | ||
| 390 | |||
| 391 | ret = samsung_asoc_dma_platform_register(&pdev->dev, | 386 | ret = samsung_asoc_dma_platform_register(&pdev->dev, |
| 392 | ac97_pdata->dma_filter, | 387 | ac97_pdata->dma_filter, |
| 393 | NULL, NULL); | 388 | NULL, NULL); |
| @@ -396,6 +391,11 @@ static int s3c_ac97_probe(struct platform_device *pdev) | |||
| 396 | goto err5; | 391 | goto err5; |
| 397 | } | 392 | } |
| 398 | 393 | ||
| 394 | ret = devm_snd_soc_register_component(&pdev->dev, &s3c_ac97_component, | ||
| 395 | s3c_ac97_dai, ARRAY_SIZE(s3c_ac97_dai)); | ||
| 396 | if (ret) | ||
| 397 | goto err5; | ||
| 398 | |||
| 399 | return 0; | 399 | return 0; |
| 400 | err5: | 400 | err5: |
| 401 | free_irq(irq_res->start, NULL); | 401 | free_irq(irq_res->start, NULL); |
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c index e06aa3152ab0..e00974bc5616 100644 --- a/sound/soc/samsung/i2s.c +++ b/sound/soc/samsung/i2s.c | |||
| @@ -1238,14 +1238,14 @@ static int samsung_i2s_probe(struct platform_device *pdev) | |||
| 1238 | dev_err(&pdev->dev, "Unable to get drvdata\n"); | 1238 | dev_err(&pdev->dev, "Unable to get drvdata\n"); |
| 1239 | return -EFAULT; | 1239 | return -EFAULT; |
| 1240 | } | 1240 | } |
| 1241 | ret = devm_snd_soc_register_component(&sec_dai->pdev->dev, | 1241 | ret = samsung_asoc_dma_platform_register(&pdev->dev, |
| 1242 | &samsung_i2s_component, | 1242 | sec_dai->filter, "tx-sec", NULL); |
| 1243 | &sec_dai->i2s_dai_drv, 1); | ||
| 1244 | if (ret != 0) | 1243 | if (ret != 0) |
| 1245 | return ret; | 1244 | return ret; |
| 1246 | 1245 | ||
| 1247 | return samsung_asoc_dma_platform_register(&pdev->dev, | 1246 | return devm_snd_soc_register_component(&sec_dai->pdev->dev, |
| 1248 | sec_dai->filter, "tx-sec", NULL); | 1247 | &samsung_i2s_component, |
| 1248 | &sec_dai->i2s_dai_drv, 1); | ||
| 1249 | } | 1249 | } |
| 1250 | 1250 | ||
| 1251 | pri_dai = i2s_alloc_dai(pdev, false); | 1251 | pri_dai = i2s_alloc_dai(pdev, false); |
| @@ -1313,6 +1313,11 @@ static int samsung_i2s_probe(struct platform_device *pdev) | |||
| 1313 | if (quirks & QUIRK_PRI_6CHAN) | 1313 | if (quirks & QUIRK_PRI_6CHAN) |
| 1314 | pri_dai->i2s_dai_drv.playback.channels_max = 6; | 1314 | pri_dai->i2s_dai_drv.playback.channels_max = 6; |
| 1315 | 1315 | ||
| 1316 | ret = samsung_asoc_dma_platform_register(&pdev->dev, pri_dai->filter, | ||
| 1317 | NULL, NULL); | ||
| 1318 | if (ret < 0) | ||
| 1319 | goto err_disable_clk; | ||
| 1320 | |||
| 1316 | if (quirks & QUIRK_SEC_DAI) { | 1321 | if (quirks & QUIRK_SEC_DAI) { |
| 1317 | sec_dai = i2s_alloc_dai(pdev, true); | 1322 | sec_dai = i2s_alloc_dai(pdev, true); |
| 1318 | if (!sec_dai) { | 1323 | if (!sec_dai) { |
| @@ -1351,10 +1356,6 @@ static int samsung_i2s_probe(struct platform_device *pdev) | |||
| 1351 | if (ret < 0) | 1356 | if (ret < 0) |
| 1352 | goto err_free_dai; | 1357 | goto err_free_dai; |
| 1353 | 1358 | ||
| 1354 | ret = samsung_asoc_dma_platform_register(&pdev->dev, pri_dai->filter, | ||
| 1355 | NULL, NULL); | ||
| 1356 | if (ret < 0) | ||
| 1357 | goto err_free_dai; | ||
| 1358 | 1359 | ||
| 1359 | pm_runtime_enable(&pdev->dev); | 1360 | pm_runtime_enable(&pdev->dev); |
| 1360 | 1361 | ||
diff --git a/sound/soc/samsung/pcm.c b/sound/soc/samsung/pcm.c index 43e367a9acc3..c484985812ed 100644 --- a/sound/soc/samsung/pcm.c +++ b/sound/soc/samsung/pcm.c | |||
| @@ -565,24 +565,25 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev) | |||
| 565 | pcm->dma_capture = &s3c_pcm_stereo_in[pdev->id]; | 565 | pcm->dma_capture = &s3c_pcm_stereo_in[pdev->id]; |
| 566 | pcm->dma_playback = &s3c_pcm_stereo_out[pdev->id]; | 566 | pcm->dma_playback = &s3c_pcm_stereo_out[pdev->id]; |
| 567 | 567 | ||
| 568 | ret = samsung_asoc_dma_platform_register(&pdev->dev, filter, | ||
| 569 | NULL, NULL); | ||
| 570 | if (ret) { | ||
| 571 | dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret); | ||
| 572 | goto err5; | ||
| 573 | } | ||
| 574 | |||
| 568 | pm_runtime_enable(&pdev->dev); | 575 | pm_runtime_enable(&pdev->dev); |
| 569 | 576 | ||
| 570 | ret = devm_snd_soc_register_component(&pdev->dev, &s3c_pcm_component, | 577 | ret = devm_snd_soc_register_component(&pdev->dev, &s3c_pcm_component, |
| 571 | &s3c_pcm_dai[pdev->id], 1); | 578 | &s3c_pcm_dai[pdev->id], 1); |
| 572 | if (ret != 0) { | 579 | if (ret != 0) { |
| 573 | dev_err(&pdev->dev, "failed to get register DAI: %d\n", ret); | 580 | dev_err(&pdev->dev, "failed to get register DAI: %d\n", ret); |
| 574 | goto err5; | 581 | goto err6; |
| 575 | } | ||
| 576 | |||
| 577 | ret = samsung_asoc_dma_platform_register(&pdev->dev, filter, | ||
| 578 | NULL, NULL); | ||
| 579 | if (ret) { | ||
| 580 | dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret); | ||
| 581 | goto err5; | ||
| 582 | } | 582 | } |
| 583 | 583 | ||
| 584 | return 0; | 584 | return 0; |
| 585 | 585 | err6: | |
| 586 | pm_runtime_disable(&pdev->dev); | ||
| 586 | err5: | 587 | err5: |
| 587 | clk_disable_unprepare(pcm->pclk); | 588 | clk_disable_unprepare(pcm->pclk); |
| 588 | err4: | 589 | err4: |
diff --git a/sound/soc/samsung/s3c2412-i2s.c b/sound/soc/samsung/s3c2412-i2s.c index 40331a060a02..6d0b8897fa6c 100644 --- a/sound/soc/samsung/s3c2412-i2s.c +++ b/sound/soc/samsung/s3c2412-i2s.c | |||
| @@ -166,19 +166,19 @@ static int s3c2412_iis_dev_probe(struct platform_device *pdev) | |||
| 166 | s3c2412_i2s_pcm_stereo_in.addr = res->start + S3C2412_IISRXD; | 166 | s3c2412_i2s_pcm_stereo_in.addr = res->start + S3C2412_IISRXD; |
| 167 | s3c2412_i2s_pcm_stereo_in.filter_data = pdata->dma_capture; | 167 | s3c2412_i2s_pcm_stereo_in.filter_data = pdata->dma_capture; |
| 168 | 168 | ||
| 169 | ret = s3c_i2sv2_register_component(&pdev->dev, -1, | 169 | ret = samsung_asoc_dma_platform_register(&pdev->dev, |
| 170 | &s3c2412_i2s_component, | 170 | pdata->dma_filter, |
| 171 | &s3c2412_i2s_dai); | 171 | NULL, NULL); |
| 172 | if (ret) { | 172 | if (ret) { |
| 173 | pr_err("failed to register the dai\n"); | 173 | pr_err("failed to register the DMA: %d\n", ret); |
| 174 | return ret; | 174 | return ret; |
| 175 | } | 175 | } |
| 176 | 176 | ||
| 177 | ret = samsung_asoc_dma_platform_register(&pdev->dev, | 177 | ret = s3c_i2sv2_register_component(&pdev->dev, -1, |
| 178 | pdata->dma_filter, | 178 | &s3c2412_i2s_component, |
| 179 | NULL, NULL); | 179 | &s3c2412_i2s_dai); |
| 180 | if (ret) | 180 | if (ret) |
| 181 | pr_err("failed to register the DMA: %d\n", ret); | 181 | pr_err("failed to register the dai\n"); |
| 182 | 182 | ||
| 183 | return ret; | 183 | return ret; |
| 184 | } | 184 | } |
diff --git a/sound/soc/samsung/s3c24xx-i2s.c b/sound/soc/samsung/s3c24xx-i2s.c index 7c7061bc0ded..3b4bef9025a7 100644 --- a/sound/soc/samsung/s3c24xx-i2s.c +++ b/sound/soc/samsung/s3c24xx-i2s.c | |||
| @@ -440,17 +440,18 @@ static int s3c24xx_iis_dev_probe(struct platform_device *pdev) | |||
| 440 | s3c24xx_i2s_pcm_stereo_out.addr = res->start + S3C2410_IISFIFO; | 440 | s3c24xx_i2s_pcm_stereo_out.addr = res->start + S3C2410_IISFIFO; |
| 441 | s3c24xx_i2s_pcm_stereo_in.addr = res->start + S3C2410_IISFIFO; | 441 | s3c24xx_i2s_pcm_stereo_in.addr = res->start + S3C2410_IISFIFO; |
| 442 | 442 | ||
| 443 | ret = devm_snd_soc_register_component(&pdev->dev, | 443 | ret = samsung_asoc_dma_platform_register(&pdev->dev, |
| 444 | &s3c24xx_i2s_component, &s3c24xx_i2s_dai, 1); | 444 | pdata->dma_filter, |
| 445 | NULL, NULL); | ||
| 445 | if (ret) { | 446 | if (ret) { |
| 446 | dev_err(&pdev->dev, "Failed to register the DAI\n"); | 447 | dev_err(&pdev->dev, "Failed to register the DAI\n"); |
| 447 | return ret; | 448 | return ret; |
| 448 | } | 449 | } |
| 449 | 450 | ||
| 450 | ret = samsung_asoc_dma_platform_register(&pdev->dev, NULL, | 451 | ret = devm_snd_soc_register_component(&pdev->dev, |
| 451 | NULL, NULL); | 452 | &s3c24xx_i2s_component, &s3c24xx_i2s_dai, 1); |
| 452 | if (ret) | 453 | if (ret) |
| 453 | dev_err(&pdev->dev, "Failed to register the DMA: %d\n", ret); | 454 | pr_err("failed to register the dai\n"); |
| 454 | 455 | ||
| 455 | return ret; | 456 | return ret; |
| 456 | } | ||
