aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/s3c24xx/s3c-ac97.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/s3c24xx/s3c-ac97.c')
-rw-r--r--sound/soc/s3c24xx/s3c-ac97.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/sound/soc/s3c24xx/s3c-ac97.c b/sound/soc/s3c24xx/s3c-ac97.c
index 31f6d45b6384..86f4a9b4a869 100644
--- a/sound/soc/s3c24xx/s3c-ac97.c
+++ b/sound/soc/s3c24xx/s3c-ac97.c
@@ -222,7 +222,7 @@ static int s3c_ac97_hw_params(struct snd_pcm_substream *substream,
222 struct snd_soc_dai *dai) 222 struct snd_soc_dai *dai)
223{ 223{
224 struct snd_soc_pcm_runtime *rtd = substream->private_data; 224 struct snd_soc_pcm_runtime *rtd = substream->private_data;
225 struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai; 225 struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
226 struct s3c_dma_params *dma_data; 226 struct s3c_dma_params *dma_data;
227 227
228 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) 228 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
@@ -241,7 +241,7 @@ static int s3c_ac97_trigger(struct snd_pcm_substream *substream, int cmd,
241 u32 ac_glbctrl; 241 u32 ac_glbctrl;
242 struct snd_soc_pcm_runtime *rtd = substream->private_data; 242 struct snd_soc_pcm_runtime *rtd = substream->private_data;
243 struct s3c_dma_params *dma_data = 243 struct s3c_dma_params *dma_data =
244 snd_soc_dai_get_dma_data(rtd->dai->cpu_dai, substream); 244 snd_soc_dai_get_dma_data(rtd->cpu_dai, substream);
245 245
246 ac_glbctrl = readl(s3c_ac97.regs + S3C_AC97_GLBCTRL); 246 ac_glbctrl = readl(s3c_ac97.regs + S3C_AC97_GLBCTRL);
247 if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) 247 if (substream->stream == SNDRV_PCM_STREAM_CAPTURE)
@@ -277,7 +277,7 @@ static int s3c_ac97_hw_mic_params(struct snd_pcm_substream *substream,
277 struct snd_soc_dai *dai) 277 struct snd_soc_dai *dai)
278{ 278{
279 struct snd_soc_pcm_runtime *rtd = substream->private_data; 279 struct snd_soc_pcm_runtime *rtd = substream->private_data;
280 struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai; 280 struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
281 281
282 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) 282 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
283 return -ENODEV; 283 return -ENODEV;
@@ -293,7 +293,7 @@ static int s3c_ac97_mic_trigger(struct snd_pcm_substream *substream,
293 u32 ac_glbctrl; 293 u32 ac_glbctrl;
294 struct snd_soc_pcm_runtime *rtd = substream->private_data; 294 struct snd_soc_pcm_runtime *rtd = substream->private_data;
295 struct s3c_dma_params *dma_data = 295 struct s3c_dma_params *dma_data =
296 snd_soc_dai_get_dma_data(rtd->dai->cpu_dai, substream); 296 snd_soc_dai_get_dma_data(rtd->cpu_dai, substream);
297 297
298 ac_glbctrl = readl(s3c_ac97.regs + S3C_AC97_GLBCTRL); 298 ac_glbctrl = readl(s3c_ac97.regs + S3C_AC97_GLBCTRL);
299 ac_glbctrl &= ~S3C_AC97_GLBCTRL_MICINTM_MASK; 299 ac_glbctrl &= ~S3C_AC97_GLBCTRL_MICINTM_MASK;
@@ -328,10 +328,9 @@ static struct snd_soc_dai_ops s3c_ac97_mic_dai_ops = {
328 .trigger = s3c_ac97_mic_trigger, 328 .trigger = s3c_ac97_mic_trigger,
329}; 329};
330 330
331struct snd_soc_dai s3c_ac97_dai[] = { 331static struct snd_soc_dai_driver s3c_ac97_dai[] = {
332 [S3C_AC97_DAI_PCM] = { 332 [S3C_AC97_DAI_PCM] = {
333 .name = "s3c-ac97", 333 .name = "s3c-ac97",
334 .id = S3C_AC97_DAI_PCM,
335 .ac97_control = 1, 334 .ac97_control = 1,
336 .playback = { 335 .playback = {
337 .stream_name = "AC97 Playback", 336 .stream_name = "AC97 Playback",
@@ -349,7 +348,6 @@ struct snd_soc_dai s3c_ac97_dai[] = {
349 }, 348 },
350 [S3C_AC97_DAI_MIC] = { 349 [S3C_AC97_DAI_MIC] = {
351 .name = "s3c-ac97-mic", 350 .name = "s3c-ac97-mic",
352 .id = S3C_AC97_DAI_MIC,
353 .ac97_control = 1, 351 .ac97_control = 1,
354 .capture = { 352 .capture = {
355 .stream_name = "AC97 Mic Capture", 353 .stream_name = "AC97 Mic Capture",
@@ -360,7 +358,6 @@ struct snd_soc_dai s3c_ac97_dai[] = {
360 .ops = &s3c_ac97_mic_dai_ops, 358 .ops = &s3c_ac97_mic_dai_ops,
361 }, 359 },
362}; 360};
363EXPORT_SYMBOL_GPL(s3c_ac97_dai);
364 361
365static __devinit int s3c_ac97_probe(struct platform_device *pdev) 362static __devinit int s3c_ac97_probe(struct platform_device *pdev)
366{ 363{
@@ -449,10 +446,8 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
449 goto err4; 446 goto err4;
450 } 447 }
451 448
452 s3c_ac97_dai[S3C_AC97_DAI_PCM].dev = &pdev->dev; 449 ret = snd_soc_register_dais(&pdev->dev, s3c_ac97_dai,
453 s3c_ac97_dai[S3C_AC97_DAI_MIC].dev = &pdev->dev; 450 ARRAY_SIZE(s3c_ac97_dai));
454
455 ret = snd_soc_register_dais(s3c_ac97_dai, ARRAY_SIZE(s3c_ac97_dai));
456 if (ret) 451 if (ret)
457 goto err5; 452 goto err5;
458 453
@@ -476,7 +471,7 @@ static __devexit int s3c_ac97_remove(struct platform_device *pdev)
476{ 471{
477 struct resource *mem_res, *irq_res; 472 struct resource *mem_res, *irq_res;
478 473
479 snd_soc_unregister_dais(s3c_ac97_dai, ARRAY_SIZE(s3c_ac97_dai)); 474 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(s3c_ac97_dai));
480 475
481 irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); 476 irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
482 if (irq_res) 477 if (irq_res)