diff options
Diffstat (limited to 'sound/soc/samsung/ac97.c')
-rw-r--r-- | sound/soc/samsung/ac97.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c index 386bab1f99ab..cd6c7073c50d 100644 --- a/sound/soc/samsung/ac97.c +++ b/sound/soc/samsung/ac97.c | |||
@@ -462,8 +462,15 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev) | |||
462 | if (ret) | 462 | if (ret) |
463 | goto err5; | 463 | goto err5; |
464 | 464 | ||
465 | return 0; | 465 | ret = asoc_dma_platform_register(&pdev->dev); |
466 | if (ret) { | ||
467 | dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret); | ||
468 | goto err6; | ||
469 | } | ||
466 | 470 | ||
471 | return 0; | ||
472 | err6: | ||
473 | snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(s3c_ac97_dai)); | ||
467 | err5: | 474 | err5: |
468 | free_irq(irq_res->start, NULL); | 475 | free_irq(irq_res->start, NULL); |
469 | err4: | 476 | err4: |
@@ -482,6 +489,7 @@ static __devexit int s3c_ac97_remove(struct platform_device *pdev) | |||
482 | { | 489 | { |
483 | struct resource *mem_res, *irq_res; | 490 | struct resource *mem_res, *irq_res; |
484 | 491 | ||
492 | asoc_dma_platform_unregister(&pdev->dev); | ||
485 | snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(s3c_ac97_dai)); | 493 | snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(s3c_ac97_dai)); |
486 | 494 | ||
487 | irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); | 495 | irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); |