]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - sound/soc/samsung/spdif.c
Merge remote-tracking branches 'asoc/topic/adau' and 'asoc/topic/adsp' into asoc...
[karo-tx-linux.git] / sound / soc / samsung / spdif.c
index cfe63b7bcc9f6b9a6779b9a88db93612b9e6a420..e93a93e296f470b3557a70d1d455a59f2617d419 100644 (file)
@@ -427,8 +427,8 @@ static int spdif_probe(struct platform_device *pdev)
 
        dev_set_drvdata(&pdev->dev, spdif);
 
-       ret = snd_soc_register_component(&pdev->dev, &samsung_spdif_component,
-                                        &samsung_spdif_dai, 1);
+       ret = devm_snd_soc_register_component(&pdev->dev,
+                       &samsung_spdif_component, &samsung_spdif_dai, 1);
        if (ret != 0) {
                dev_err(&pdev->dev, "fail to register dai\n");
                goto err4;
@@ -444,12 +444,10 @@ static int spdif_probe(struct platform_device *pdev)
        ret = samsung_asoc_dma_platform_register(&pdev->dev);
        if (ret) {
                dev_err(&pdev->dev, "failed to register DMA: %d\n", ret);
-               goto err5;
+               goto err4;
        }
 
        return 0;
-err5:
-       snd_soc_unregister_component(&pdev->dev);
 err4:
        iounmap(spdif->regs);
 err3:
@@ -467,9 +465,6 @@ static int spdif_remove(struct platform_device *pdev)
        struct samsung_spdif_info *spdif = &spdif_info;
        struct resource *mem_res;
 
-       samsung_asoc_dma_platform_unregister(&pdev->dev);
-       snd_soc_unregister_component(&pdev->dev);
-
        iounmap(spdif->regs);
 
        mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);