ASoC: Samsung: Debug PCM snd_soc_dai_driver registration
authorJassi Brar <jassi.brar@samsung.com>
Fri, 10 Sep 2010 07:41:05 +0000 (16:41 +0900)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 14 Sep 2010 07:50:17 +0000 (08:50 +0100)
Each of the two PCM controllers need to be registered during probe
with appropriate 'name' of the dai driver.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/s3c24xx/s3c-pcm.c

index 4f73275f4db6cad8f17a79eee54740f81a5a5006..2e020e1b4eab027640a0e92b4f0506305c0297f9 100644 (file)
@@ -364,8 +364,6 @@ static struct snd_soc_dai_ops s3c_pcm_dai_ops = {
 #define S3C_PCM_RATES  SNDRV_PCM_RATE_8000_96000
 
 #define S3C_PCM_DAI_DECLARE                    \
-{                                                              \
-       .name            = "samsung-dai",                       \
        .symmetric_rates = 1,                                   \
        .ops = &s3c_pcm_dai_ops,                                \
        .playback = {                                           \
@@ -379,12 +377,17 @@ static struct snd_soc_dai_ops s3c_pcm_dai_ops = {
                .channels_max   = 2,                            \
                .rates          = S3C_PCM_RATES,                \
                .formats        = SNDRV_PCM_FMTBIT_S16_LE,      \
-       },                                                      \
-}
+       }
 
 struct snd_soc_dai_driver s3c_pcm_dai[] = {
-       S3C_PCM_DAI_DECLARE,
-       S3C_PCM_DAI_DECLARE,
+       [0] = {
+               .name   = "samsung-pcm.0",
+               S3C_PCM_DAI_DECLARE,
+       },
+       [1] = {
+               .name   = "samsung-pcm.1",
+               S3C_PCM_DAI_DECLARE,
+       },
 };
 EXPORT_SYMBOL_GPL(s3c_pcm_dai);
 
@@ -468,7 +471,7 @@ static __devinit int s3c_pcm_dev_probe(struct platform_device *pdev)
        }
        clk_enable(pcm->pclk);
 
-       ret = snd_soc_register_dai(&pdev->dev, s3c_pcm_dai);
+       ret = snd_soc_register_dai(&pdev->dev, &s3c_pcm_dai[pdev->id]);
        if (ret != 0) {
                dev_err(&pdev->dev, "failed to get pcm_clock\n");
                goto err5;