return 0;
 }
 
-static struct snd_soc_platform_driver cygnus_soc_platform = {
+static struct snd_soc_component_driver cygnus_soc_platform = {
        .ops            = &cygnus_pcm_ops,
        .pcm_new        = cygnus_dma_new,
        .pcm_free       = cygnus_dma_free_dma_buffers,
                return rc;
        }
 
-       rc = snd_soc_register_platform(dev, &cygnus_soc_platform);
+       rc = devm_snd_soc_register_component(dev, &cygnus_soc_platform,
+                                            NULL, 0);
        if (rc) {
                dev_err(dev, "%s failed\n", __func__);
                return rc;
 
 int cygnus_soc_platform_unregister(struct device *dev)
 {
-       snd_soc_unregister_platform(dev);
-
        return 0;
 }