aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/soc/mxs/mxs-saif.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/sound/soc/mxs/mxs-saif.c b/sound/soc/mxs/mxs-saif.c
index b56b8a0e8deb..14152f6f70dd 100644
--- a/sound/soc/mxs/mxs-saif.c
+++ b/sound/soc/mxs/mxs-saif.c
@@ -768,8 +768,8 @@ static int mxs_saif_probe(struct platform_device *pdev)
768 dev_warn(&pdev->dev, "failed to init clocks\n"); 768 dev_warn(&pdev->dev, "failed to init clocks\n");
769 } 769 }
770 770
771 ret = snd_soc_register_component(&pdev->dev, &mxs_saif_component, 771 ret = devm_snd_soc_register_component(&pdev->dev, &mxs_saif_component,
772 &mxs_saif_dai, 1); 772 &mxs_saif_dai, 1);
773 if (ret) { 773 if (ret) {
774 dev_err(&pdev->dev, "register DAI failed\n"); 774 dev_err(&pdev->dev, "register DAI failed\n");
775 return ret; 775 return ret;
@@ -778,21 +778,15 @@ static int mxs_saif_probe(struct platform_device *pdev)
778 ret = mxs_pcm_platform_register(&pdev->dev); 778 ret = mxs_pcm_platform_register(&pdev->dev);
779 if (ret) { 779 if (ret) {
780 dev_err(&pdev->dev, "register PCM failed: %d\n", ret); 780 dev_err(&pdev->dev, "register PCM failed: %d\n", ret);
781 goto failed_pdev_alloc; 781 return ret;
782 } 782 }
783 783
784 return 0; 784 return 0;
785
786failed_pdev_alloc:
787 snd_soc_unregister_component(&pdev->dev);
788
789 return ret;
790} 785}
791 786
792static int mxs_saif_remove(struct platform_device *pdev) 787static int mxs_saif_remove(struct platform_device *pdev)
793{ 788{
794 mxs_pcm_platform_unregister(&pdev->dev); 789 mxs_pcm_platform_unregister(&pdev->dev);
795 snd_soc_unregister_component(&pdev->dev);
796 790
797 return 0; 791 return 0;
798} 792}