},
 };
 
-static int sst_platform_open(struct snd_pcm_substream *substream)
+static int sst_soc_open(struct snd_soc_component *component,
+                       struct snd_pcm_substream *substream)
 {
        struct snd_pcm_runtime *runtime;
 
        return 0;
 }
 
-static int sst_platform_pcm_trigger(struct snd_pcm_substream *substream,
-                                       int cmd)
+static int sst_soc_trigger(struct snd_soc_component *component,
+                          struct snd_pcm_substream *substream, int cmd)
 {
        int ret_val = 0, str_id;
        struct sst_runtime_stream *stream;
        int status;
        struct snd_soc_pcm_runtime *rtd = substream->private_data;
 
-       dev_dbg(rtd->dev, "sst_platform_pcm_trigger called\n");
+       dev_dbg(rtd->dev, "%s called\n", __func__);
        if (substream->pcm->internal)
                return 0;
        stream = substream->runtime->private_data;
 }
 
 
-static snd_pcm_uframes_t sst_platform_pcm_pointer
-                       (struct snd_pcm_substream *substream)
+static snd_pcm_uframes_t sst_soc_pointer(struct snd_soc_component *component,
+                                        struct snd_pcm_substream *substream)
 {
        struct sst_runtime_stream *stream;
        int ret_val, status;
        return str_info->buffer_ptr;
 }
 
-static const struct snd_pcm_ops sst_platform_ops = {
-       .open = sst_platform_open,
-       .ioctl = snd_pcm_lib_ioctl,
-       .trigger = sst_platform_pcm_trigger,
-       .pointer = sst_platform_pcm_pointer,
-};
-
-static int sst_pcm_new(struct snd_soc_pcm_runtime *rtd)
+static int sst_soc_pcm_new(struct snd_soc_component *component,
+                          struct snd_soc_pcm_runtime *rtd)
 {
        struct snd_soc_dai *dai = rtd->cpu_dai;
        struct snd_pcm *pcm = rtd->pcm;
        .name           = DRV_NAME,
        .probe          = sst_soc_probe,
        .remove         = sst_soc_remove,
-       .ops            = &sst_platform_ops,
+       .open           = sst_soc_open,
+       .ioctl          = snd_soc_pcm_lib_ioctl,
+       .trigger        = sst_soc_trigger,
+       .pointer        = sst_soc_pointer,
        .compr_ops      = &sst_platform_compr_ops,
-       .pcm_new        = sst_pcm_new,
+       .pcm_construct  = sst_soc_pcm_new,
 };
 
 static int sst_platform_probe(struct platform_device *pdev)