aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2016-10-28 13:33:24 -0400
committerMark Brown <broonie@kernel.org>2016-10-28 13:33:24 -0400
commit990fcfefc925a959e204a44fc479efcc236ebced (patch)
tree207452dfd2502b216c568e75c65583fdf43a9e81
parent2ef9555bd13d00c63fdbe3cdca6ab0e2ded42695 (diff)
parent73f5dfc68316bef2ab7062ecdefd4b0ca941b4c1 (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.c10
-rw-r--r--sound/soc/samsung/i2s.c19
-rw-r--r--sound/soc/samsung/pcm.c19
-rw-r--r--sound/soc/samsung/s3c2412-i2s.c16
-rw-r--r--sound/soc/samsung/s3c24xx-i2s.c11
-rw-r--r--sound/soc/samsung/spdif.c14
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;
400err5: 400err5:
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 585err6:
586 pm_runtime_disable(&pdev->dev);
586err5: 587err5:
587 clk_disable_unprepare(pcm->pclk); 588 clk_disable_unprepare(pcm->pclk);
588err4: 589err4:
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}