return 0;
 }
 
-const struct snd_soc_dai_ops asoc_qcom_lpass_cpu_dai_ops = {
-       .set_sysclk     = lpass_cpu_daiops_set_sysclk,
-       .startup        = lpass_cpu_daiops_startup,
-       .shutdown       = lpass_cpu_daiops_shutdown,
-       .hw_params      = lpass_cpu_daiops_hw_params,
-       .trigger        = lpass_cpu_daiops_trigger,
-       .prepare        = lpass_cpu_daiops_prepare,
-};
-EXPORT_SYMBOL_GPL(asoc_qcom_lpass_cpu_dai_ops);
-
-int lpass_cpu_pcm_new(struct snd_soc_pcm_runtime *rtd,
-                               struct snd_soc_dai *dai)
+static int lpass_cpu_daiops_pcm_new(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
 {
        int ret;
        struct snd_soc_dai_driver *drv = dai->driver;
 
        return 0;
 }
-EXPORT_SYMBOL_GPL(lpass_cpu_pcm_new);
 
-int asoc_qcom_lpass_cpu_dai_probe(struct snd_soc_dai *dai)
+static int lpass_cpu_daiops_probe(struct snd_soc_dai *dai)
 {
        struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
        int ret;
 
        return ret;
 }
-EXPORT_SYMBOL_GPL(asoc_qcom_lpass_cpu_dai_probe);
+
+const struct snd_soc_dai_ops asoc_qcom_lpass_cpu_dai_ops = {
+       .probe          = lpass_cpu_daiops_probe,
+       .set_sysclk     = lpass_cpu_daiops_set_sysclk,
+       .startup        = lpass_cpu_daiops_startup,
+       .shutdown       = lpass_cpu_daiops_shutdown,
+       .hw_params      = lpass_cpu_daiops_hw_params,
+       .trigger        = lpass_cpu_daiops_trigger,
+       .prepare        = lpass_cpu_daiops_prepare,
+};
+EXPORT_SYMBOL_GPL(asoc_qcom_lpass_cpu_dai_ops);
+
+const struct snd_soc_dai_ops asoc_qcom_lpass_cpu_dai_ops2 = {
+       .pcm_new        = lpass_cpu_daiops_pcm_new,
+       .probe          = lpass_cpu_daiops_probe,
+       .set_sysclk     = lpass_cpu_daiops_set_sysclk,
+       .startup        = lpass_cpu_daiops_startup,
+       .shutdown       = lpass_cpu_daiops_shutdown,
+       .hw_params      = lpass_cpu_daiops_hw_params,
+       .trigger        = lpass_cpu_daiops_trigger,
+       .prepare        = lpass_cpu_daiops_prepare,
+};
+EXPORT_SYMBOL_GPL(asoc_qcom_lpass_cpu_dai_ops2);
 
 static int asoc_qcom_of_xlate_dai_name(struct snd_soc_component *component,
                                   const struct of_phandle_args *args,
 
        {"RX_CODEC_DMA_RX_7 Playback", NULL, "RX_CODEC_DMA_RX_7"},
 };
 
-static const struct snd_soc_dai_ops q6hdmi_ops = {
-       .prepare        = q6afe_dai_prepare,
-       .hw_params      = q6hdmi_hw_params,
-       .shutdown       = q6afe_dai_shutdown,
-};
-
-static const struct snd_soc_dai_ops q6i2s_ops = {
-       .prepare        = q6afe_dai_prepare,
-       .hw_params      = q6i2s_hw_params,
-       .set_fmt        = q6i2s_set_fmt,
-       .shutdown       = q6afe_dai_shutdown,
-       .set_sysclk     = q6afe_mi2s_set_sysclk,
-};
-
-static const struct snd_soc_dai_ops q6slim_ops = {
-       .prepare        = q6afe_dai_prepare,
-       .hw_params      = q6slim_hw_params,
-       .shutdown       = q6afe_dai_shutdown,
-       .set_channel_map = q6slim_set_channel_map,
-};
-
-static const struct snd_soc_dai_ops q6tdm_ops = {
-       .prepare        = q6afe_dai_prepare,
-       .shutdown       = q6afe_dai_shutdown,
-       .set_sysclk     = q6afe_mi2s_set_sysclk,
-       .set_tdm_slot     = q6tdm_set_tdm_slot,
-       .set_channel_map  = q6tdm_set_channel_map,
-       .hw_params        = q6tdm_hw_params,
-};
-
-static const struct snd_soc_dai_ops q6dma_ops = {
-       .prepare        = q6afe_dai_prepare,
-       .shutdown       = q6afe_dai_shutdown,
-       .set_sysclk     = q6afe_mi2s_set_sysclk,
-       .set_channel_map  = q6dma_set_channel_map,
-       .hw_params        = q6dma_hw_params,
-};
-
 static int msm_dai_q6_dai_probe(struct snd_soc_dai *dai)
 {
        struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev);
        return 0;
 }
 
+static const struct snd_soc_dai_ops q6hdmi_ops = {
+       .probe                  = msm_dai_q6_dai_probe,
+       .remove                 = msm_dai_q6_dai_remove,
+       .prepare                = q6afe_dai_prepare,
+       .hw_params              = q6hdmi_hw_params,
+       .shutdown               = q6afe_dai_shutdown,
+};
+
+static const struct snd_soc_dai_ops q6i2s_ops = {
+       .probe                  = msm_dai_q6_dai_probe,
+       .remove                 = msm_dai_q6_dai_remove,
+       .prepare                = q6afe_dai_prepare,
+       .hw_params              = q6i2s_hw_params,
+       .set_fmt                = q6i2s_set_fmt,
+       .shutdown               = q6afe_dai_shutdown,
+       .set_sysclk             = q6afe_mi2s_set_sysclk,
+};
+
+static const struct snd_soc_dai_ops q6slim_ops = {
+       .probe                  = msm_dai_q6_dai_probe,
+       .remove                 = msm_dai_q6_dai_remove,
+       .prepare                = q6afe_dai_prepare,
+       .hw_params              = q6slim_hw_params,
+       .shutdown               = q6afe_dai_shutdown,
+       .set_channel_map        = q6slim_set_channel_map,
+};
+
+static const struct snd_soc_dai_ops q6tdm_ops = {
+       .probe                  = msm_dai_q6_dai_probe,
+       .remove                 = msm_dai_q6_dai_remove,
+       .prepare                = q6afe_dai_prepare,
+       .shutdown               = q6afe_dai_shutdown,
+       .set_sysclk             = q6afe_mi2s_set_sysclk,
+       .set_tdm_slot           = q6tdm_set_tdm_slot,
+       .set_channel_map        = q6tdm_set_channel_map,
+       .hw_params              = q6tdm_hw_params,
+};
+
+static const struct snd_soc_dai_ops q6dma_ops = {
+       .probe                  = msm_dai_q6_dai_probe,
+       .remove                 = msm_dai_q6_dai_remove,
+       .prepare                = q6afe_dai_prepare,
+       .shutdown               = q6afe_dai_shutdown,
+       .set_sysclk             = q6afe_mi2s_set_sysclk,
+       .set_channel_map        = q6dma_set_channel_map,
+       .hw_params              = q6dma_hw_params,
+};
+
 static const struct snd_soc_dapm_widget q6afe_dai_widgets[] = {
        SND_SOC_DAPM_AIF_IN("HDMI_RX", NULL, 0, SND_SOC_NOPM, 0, 0),
        SND_SOC_DAPM_AIF_IN("SLIMBUS_0_RX", NULL, 0, SND_SOC_NOPM, 0, 0),
        dev_set_drvdata(dev, dai_data);
        of_q6afe_parse_dai_data(dev, dai_data);
 
-       cfg.probe = msm_dai_q6_dai_probe;
-       cfg.remove = msm_dai_q6_dai_remove;
        cfg.q6hdmi_ops = &q6hdmi_ops;
        cfg.q6slim_ops = &q6slim_ops;
        cfg.q6i2s_ops = &q6i2s_ops;