aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/kirkwood/kirkwood-dma.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/kirkwood/kirkwood-dma.c')
-rw-r--r--sound/soc/kirkwood/kirkwood-dma.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/sound/soc/kirkwood/kirkwood-dma.c b/sound/soc/kirkwood/kirkwood-dma.c
index df12e0993f5a..d03854027128 100644
--- a/sound/soc/kirkwood/kirkwood-dma.c
+++ b/sound/soc/kirkwood/kirkwood-dma.c
@@ -318,7 +318,6 @@ static int kirkwood_dma_preallocate_dma_buffer(struct snd_pcm *pcm,
318static int kirkwood_dma_new(struct snd_soc_pcm_runtime *rtd) 318static int kirkwood_dma_new(struct snd_soc_pcm_runtime *rtd)
319{ 319{
320 struct snd_card *card = rtd->card->snd_card; 320 struct snd_card *card = rtd->card->snd_card;
321 struct snd_soc_dai *dai = rtd->cpu_dai;
322 struct snd_pcm *pcm = rtd->pcm; 321 struct snd_pcm *pcm = rtd->pcm;
323 int ret; 322 int ret;
324 323
@@ -327,14 +326,14 @@ static int kirkwood_dma_new(struct snd_soc_pcm_runtime *rtd)
327 if (!card->dev->coherent_dma_mask) 326 if (!card->dev->coherent_dma_mask)
328 card->dev->coherent_dma_mask = 0xffffffff; 327 card->dev->coherent_dma_mask = 0xffffffff;
329 328
330 if (dai->driver->playback.channels_min) { 329 if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) {
331 ret = kirkwood_dma_preallocate_dma_buffer(pcm, 330 ret = kirkwood_dma_preallocate_dma_buffer(pcm,
332 SNDRV_PCM_STREAM_PLAYBACK); 331 SNDRV_PCM_STREAM_PLAYBACK);
333 if (ret) 332 if (ret)
334 return ret; 333 return ret;
335 } 334 }
336 335
337 if (dai->driver->capture.channels_min) { 336 if (pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream) {
338 ret = kirkwood_dma_preallocate_dma_buffer(pcm, 337 ret = kirkwood_dma_preallocate_dma_buffer(pcm,
339 SNDRV_PCM_STREAM_CAPTURE); 338 SNDRV_PCM_STREAM_CAPTURE);
340 if (ret) 339 if (ret)
@@ -391,17 +390,7 @@ static struct platform_driver kirkwood_pcm_driver = {
391 .remove = __devexit_p(kirkwood_soc_platform_remove), 390 .remove = __devexit_p(kirkwood_soc_platform_remove),
392}; 391};
393 392
394static int __init kirkwood_pcm_init(void) 393module_platform_driver(kirkwood_pcm_driver);
395{
396 return platform_driver_register(&kirkwood_pcm_driver);
397}
398module_init(kirkwood_pcm_init);
399
400static void __exit kirkwood_pcm_exit(void)
401{
402 platform_driver_unregister(&kirkwood_pcm_driver);
403}
404module_exit(kirkwood_pcm_exit);
405 394
406MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>"); 395MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>");
407MODULE_DESCRIPTION("Marvell Kirkwood Audio DMA module"); 396MODULE_DESCRIPTION("Marvell Kirkwood Audio DMA module");