diff options
Diffstat (limited to 'sound/soc/kirkwood/kirkwood-dma.c')
-rw-r--r-- | sound/soc/kirkwood/kirkwood-dma.c | 17 |
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, | |||
318 | static int kirkwood_dma_new(struct snd_soc_pcm_runtime *rtd) | 318 | static 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 | ||
394 | static int __init kirkwood_pcm_init(void) | 393 | module_platform_driver(kirkwood_pcm_driver); |
395 | { | ||
396 | return platform_driver_register(&kirkwood_pcm_driver); | ||
397 | } | ||
398 | module_init(kirkwood_pcm_init); | ||
399 | |||
400 | static void __exit kirkwood_pcm_exit(void) | ||
401 | { | ||
402 | platform_driver_unregister(&kirkwood_pcm_driver); | ||
403 | } | ||
404 | module_exit(kirkwood_pcm_exit); | ||
405 | 394 | ||
406 | MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>"); | 395 | MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>"); |
407 | MODULE_DESCRIPTION("Marvell Kirkwood Audio DMA module"); | 396 | MODULE_DESCRIPTION("Marvell Kirkwood Audio DMA module"); |