return err;
 }
 
-static const struct snd_soc_dai_ops atmel_i2s_dai_ops = {
-       .prepare        = atmel_i2s_prepare,
-       .trigger        = atmel_i2s_trigger,
-       .hw_params      = atmel_i2s_hw_params,
-       .set_fmt        = atmel_i2s_set_dai_fmt,
-};
-
 static int atmel_i2s_dai_probe(struct snd_soc_dai *dai)
 {
        struct atmel_i2s_dev *dev = snd_soc_dai_get_drvdata(dai);
        return 0;
 }
 
+static const struct snd_soc_dai_ops atmel_i2s_dai_ops = {
+       .probe          = atmel_i2s_dai_probe,
+       .prepare        = atmel_i2s_prepare,
+       .trigger        = atmel_i2s_trigger,
+       .hw_params      = atmel_i2s_hw_params,
+       .set_fmt        = atmel_i2s_set_dai_fmt,
+};
+
 static struct snd_soc_dai_driver atmel_i2s_dai = {
-       .probe  = atmel_i2s_dai_probe,
        .playback = {
                .channels_min = 1,
                .channels_max = 2,
 
        return 0;
 }
 
-static const struct snd_soc_dai_ops mchp_i2s_mcc_dai_ops = {
-       .set_sysclk     = mchp_i2s_mcc_set_sysclk,
-       .set_bclk_ratio = mchp_i2s_mcc_set_bclk_ratio,
-       .startup        = mchp_i2s_mcc_startup,
-       .trigger        = mchp_i2s_mcc_trigger,
-       .hw_params      = mchp_i2s_mcc_hw_params,
-       .hw_free        = mchp_i2s_mcc_hw_free,
-       .set_fmt        = mchp_i2s_mcc_set_dai_fmt,
-       .set_tdm_slot   = mchp_i2s_mcc_set_dai_tdm_slot,
-};
-
 static int mchp_i2s_mcc_dai_probe(struct snd_soc_dai *dai)
 {
        struct mchp_i2s_mcc_dev *dev = snd_soc_dai_get_drvdata(dai);
        return 0;
 }
 
+static const struct snd_soc_dai_ops mchp_i2s_mcc_dai_ops = {
+       .probe          = mchp_i2s_mcc_dai_probe,
+       .set_sysclk     = mchp_i2s_mcc_set_sysclk,
+       .set_bclk_ratio = mchp_i2s_mcc_set_bclk_ratio,
+       .startup        = mchp_i2s_mcc_startup,
+       .trigger        = mchp_i2s_mcc_trigger,
+       .hw_params      = mchp_i2s_mcc_hw_params,
+       .hw_free        = mchp_i2s_mcc_hw_free,
+       .set_fmt        = mchp_i2s_mcc_set_dai_fmt,
+       .set_tdm_slot   = mchp_i2s_mcc_set_dai_tdm_slot,
+};
+
 #define MCHP_I2SMCC_RATES              SNDRV_PCM_RATE_8000_192000
 
 #define MCHP_I2SMCC_FORMATS    (SNDRV_PCM_FMTBIT_S8 |          \
                                 SNDRV_PCM_FMTBIT_S32_LE)
 
 static struct snd_soc_dai_driver mchp_i2s_mcc_dai = {
-       .probe  = mchp_i2s_mcc_dai_probe,
        .playback = {
                .stream_name = "I2SMCC-Playback",
                .channels_min = 1,
 
        return 0;
 }
 
-static const struct snd_soc_dai_ops mchp_pdmc_dai_ops = {
-       .set_fmt        = mchp_pdmc_set_fmt,
-       .startup        = mchp_pdmc_startup,
-       .hw_params      = mchp_pdmc_hw_params,
-       .trigger        = mchp_pdmc_trigger,
-};
-
 static int mchp_pdmc_add_chmap_ctls(struct snd_pcm *pcm, struct mchp_pdmc *dd)
 {
        struct mchp_pdmc_chmap *info;
        return ret;
 }
 
+static const struct snd_soc_dai_ops mchp_pdmc_dai_ops = {
+       .probe          = mchp_pdmc_dai_probe,
+       .set_fmt        = mchp_pdmc_set_fmt,
+       .startup        = mchp_pdmc_startup,
+       .hw_params      = mchp_pdmc_hw_params,
+       .trigger        = mchp_pdmc_trigger,
+       .pcm_new        = &mchp_pdmc_pcm_new,
+};
+
 static struct snd_soc_dai_driver mchp_pdmc_dai = {
-       .probe  = mchp_pdmc_dai_probe,
        .capture = {
                .stream_name    = "Capture",
                .channels_min   = 1,
                .formats        = SNDRV_PCM_FMTBIT_S24_LE,
        },
        .ops = &mchp_pdmc_dai_ops,
-       .pcm_new = &mchp_pdmc_pcm_new,
 };
 
 /* PDMC interrupt handler */
 
        return ret;
 }
 
-static const struct snd_soc_dai_ops mchp_spdifrx_dai_ops = {
-       .trigger        = mchp_spdifrx_trigger,
-       .hw_params      = mchp_spdifrx_hw_params,
-};
-
 #define MCHP_SPDIF_RATES       SNDRV_PCM_RATE_8000_192000
 
 #define MCHP_SPDIF_FORMATS     (SNDRV_PCM_FMTBIT_S16_LE |      \
        return 0;
 }
 
+static const struct snd_soc_dai_ops mchp_spdifrx_dai_ops = {
+       .probe          = mchp_spdifrx_dai_probe,
+       .remove         = mchp_spdifrx_dai_remove,
+       .trigger        = mchp_spdifrx_trigger,
+       .hw_params      = mchp_spdifrx_hw_params,
+};
+
 static struct snd_soc_dai_driver mchp_spdifrx_dai = {
        .name = "mchp-spdifrx",
-       .probe  = mchp_spdifrx_dai_probe,
-       .remove = mchp_spdifrx_dai_remove,
        .capture = {
                .stream_name = "S/PDIF Capture",
                .channels_min = SPDIFRX_CHANNELS,
 
                            SPDIFTX_CR_SWRST | SPDIFTX_CR_FCLR);
 }
 
-static const struct snd_soc_dai_ops mchp_spdiftx_dai_ops = {
-       .startup        = mchp_spdiftx_dai_startup,
-       .shutdown       = mchp_spdiftx_dai_shutdown,
-       .trigger        = mchp_spdiftx_trigger,
-       .hw_params      = mchp_spdiftx_hw_params,
-       .hw_free        = mchp_spdiftx_hw_free,
-};
-
 #define MCHP_SPDIFTX_RATES     SNDRV_PCM_RATE_8000_192000
 
 #define MCHP_SPDIFTX_FORMATS   (SNDRV_PCM_FMTBIT_S8 |          \
        return 0;
 }
 
+static const struct snd_soc_dai_ops mchp_spdiftx_dai_ops = {
+       .probe          = mchp_spdiftx_dai_probe,
+       .startup        = mchp_spdiftx_dai_startup,
+       .shutdown       = mchp_spdiftx_dai_shutdown,
+       .trigger        = mchp_spdiftx_trigger,
+       .hw_params      = mchp_spdiftx_hw_params,
+       .hw_free        = mchp_spdiftx_hw_free,
+};
+
 static struct snd_soc_dai_driver mchp_spdiftx_dai = {
        .name = "mchp-spdiftx",
-       .probe  = mchp_spdiftx_dai_probe,
        .playback = {
                .stream_name = "S/PDIF Playback",
                .channels_min = 1,