|
@@ -89,14 +89,32 @@ static struct snd_soc_platform_driver dummy_platform = {
|
|
|
.ops = &dummy_dma_ops,
|
|
|
};
|
|
|
|
|
|
+static struct snd_soc_codec_driver dummy_codec;
|
|
|
+static struct snd_soc_dai_driver dummy_dai = {
|
|
|
+ .name = "snd-soc-dummy-dai",
|
|
|
+};
|
|
|
+
|
|
|
static __devinit int snd_soc_dummy_probe(struct platform_device *pdev)
|
|
|
{
|
|
|
- return snd_soc_register_platform(&pdev->dev, &dummy_platform);
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ ret = snd_soc_register_codec(&pdev->dev, &dummy_codec, &dummy_dai, 1);
|
|
|
+ if (ret < 0)
|
|
|
+ return ret;
|
|
|
+
|
|
|
+ ret = snd_soc_register_platform(&pdev->dev, &dummy_platform);
|
|
|
+ if (ret < 0) {
|
|
|
+ snd_soc_unregister_codec(&pdev->dev);
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
static __devexit int snd_soc_dummy_remove(struct platform_device *pdev)
|
|
|
{
|
|
|
snd_soc_unregister_platform(&pdev->dev);
|
|
|
+ snd_soc_unregister_codec(&pdev->dev);
|
|
|
|
|
|
return 0;
|
|
|
}
|