Commit bfcb921c authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown
Browse files

ASoC: switch over to use snd_soc_register_component() on davinci i2s

parent a1422b8c
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -645,6 +645,10 @@ static struct snd_soc_dai_driver davinci_i2s_dai = {

};

static const struct snd_soc_component_driver davinci_i2s_component = {
	.name		= "davinci-i2s",
};

static int davinci_i2s_probe(struct platform_device *pdev)
{
	struct snd_platform_data *pdata = pdev->dev.platform_data;
@@ -727,20 +731,21 @@ static int davinci_i2s_probe(struct platform_device *pdev)

	dev_set_drvdata(&pdev->dev, dev);

	ret = snd_soc_register_dai(&pdev->dev, &davinci_i2s_dai);
	ret = snd_soc_register_component(&pdev->dev, &davinci_i2s_component,
					 &davinci_i2s_dai, 1);
	if (ret != 0)
		goto err_release_clk;

	ret = davinci_soc_platform_register(&pdev->dev);
	if (ret) {
		dev_err(&pdev->dev, "register PCM failed: %d\n", ret);
		goto err_unregister_dai;
		goto err_unregister_component;
	}

	return 0;

err_unregister_dai:
	snd_soc_unregister_dai(&pdev->dev);
err_unregister_component:
	snd_soc_unregister_component(&pdev->dev);
err_release_clk:
	clk_disable(dev->clk);
	clk_put(dev->clk);
@@ -751,7 +756,7 @@ static int davinci_i2s_remove(struct platform_device *pdev)
{
	struct davinci_mcbsp_dev *dev = dev_get_drvdata(&pdev->dev);

	snd_soc_unregister_dai(&pdev->dev);
	snd_soc_unregister_component(&pdev->dev);
	davinci_soc_platform_unregister(&pdev->dev);

	clk_disable(dev->clk);