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

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
Loading
Loading
Loading
Loading
+5 −5
Original line number Original line Diff line number Diff line
@@ -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)
		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);
+10 −9
Original line number Original line Diff line number Diff line
@@ -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)
	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)
	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);


+10 −9
Original line number Original line Diff line number Diff line
@@ -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:
+8 −8
Original line number Original line Diff line number Diff line
@@ -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;
}
}
+6 −5
Original line number Original line Diff line number Diff line
@@ -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;
}
}
Loading