aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/samsung/ac97.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/samsung/ac97.c')
-rw-r--r--sound/soc/samsung/ac97.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c
index 386bab1f99ab..0df3c5644cfa 100644
--- a/sound/soc/samsung/ac97.c
+++ b/sound/soc/samsung/ac97.c
@@ -370,7 +370,7 @@ static struct snd_soc_dai_driver s3c_ac97_dai[] = {
370 }, 370 },
371}; 371};
372 372
373static __devinit int s3c_ac97_probe(struct platform_device *pdev) 373static int s3c_ac97_probe(struct platform_device *pdev)
374{ 374{
375 struct resource *mem_res, *dmatx_res, *dmarx_res, *dmamic_res, *irq_res; 375 struct resource *mem_res, *dmatx_res, *dmarx_res, *dmamic_res, *irq_res;
376 struct s3c_audio_pdata *ac97_pdata; 376 struct s3c_audio_pdata *ac97_pdata;
@@ -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;
472err6:
473 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(s3c_ac97_dai));
467err5: 474err5:
468 free_irq(irq_res->start, NULL); 475 free_irq(irq_res->start, NULL);
469err4: 476err4:
@@ -478,10 +485,11 @@ err1:
478 return ret; 485 return ret;
479} 486}
480 487
481static __devexit int s3c_ac97_remove(struct platform_device *pdev) 488static 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);
@@ -502,7 +510,7 @@ static __devexit int s3c_ac97_remove(struct platform_device *pdev)
502 510
503static struct platform_driver s3c_ac97_driver = { 511static struct platform_driver s3c_ac97_driver = {
504 .probe = s3c_ac97_probe, 512 .probe = s3c_ac97_probe,
505 .remove = __devexit_p(s3c_ac97_remove), 513 .remove = s3c_ac97_remove,
506 .driver = { 514 .driver = {
507 .name = "samsung-ac97", 515 .name = "samsung-ac97",
508 .owner = THIS_MODULE, 516 .owner = THIS_MODULE,