struct snd_soc_dai *dai)
 {
        struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
-       struct hdmi_codec_daifmt *cf = dai->playback_dma_data;
+       struct hdmi_codec_daifmt *cf = snd_soc_dai_dma_data_get_playback(dai);
        struct hdmi_codec_params hp = {
                .iec = {
                        .status = { 0 },
                              struct snd_soc_dai *dai)
 {
        struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
-       struct hdmi_codec_daifmt *cf = dai->playback_dma_data;
+       struct hdmi_codec_daifmt *cf = snd_soc_dai_dma_data_get_playback(dai);
        struct snd_pcm_runtime *runtime = substream->runtime;
        unsigned int channels = runtime->channels;
        unsigned int width = snd_pcm_format_width(runtime->format);
 static int hdmi_codec_i2s_set_fmt(struct snd_soc_dai *dai,
                                  unsigned int fmt)
 {
-       struct hdmi_codec_daifmt *cf = dai->playback_dma_data;
+       struct hdmi_codec_daifmt *cf = snd_soc_dai_dma_data_get_playback(dai);
 
        /* Reset daifmt */
        memset(cf, 0, sizeof(*cf));
        if (!daifmt)
                return -ENOMEM;
 
-       dai->playback_dma_data = daifmt;
+       snd_soc_dai_dma_data_set_playback(dai, daifmt);
+
        return 0;
 }
 
        if (ret)
                return ret;
 
-       cf = dai->playback_dma_data;
+       cf = snd_soc_dai_dma_data_get_playback(dai);
        cf->fmt = HDMI_SPDIF;
 
        return 0;