dev_dbg(rtd->dev,
                "ASoC: pop wq checking: %s status: %s waiting: %s\n",
                codec_dai->driver->playback.stream_name,
-               codec_dai->stream_active[playback] ? "active" : "inactive",
+               snd_soc_dai_stream_active(codec_dai, playback) ?
+               "active" : "inactive",
                rtd->pop_wait ? "yes" : "no");
 
        /* are we waiting on this codec DAI stream */
                        continue;
 
                for_each_rtd_codec_dais(rtd, i, dai) {
-                       if (dai->stream_active[playback])
+                       if (snd_soc_dai_stream_active(dai, playback))
                                snd_soc_dai_digital_mute(dai, 1, playback);
                }
        }
                        continue;
 
                for_each_rtd_codec_dais(rtd, i, dai) {
-                       if (dai->stream_active[playback])
+                       if (snd_soc_dai_stream_active(dai, playback))
                                snd_soc_dai_digital_mute(dai, 0, playback);
                }
        }
 
        /* activate pins from sleep state */
        for_each_card_components(card, component)
-               if (component->active)
+               if (snd_soc_component_active(component))
                        pinctrl_pm_select_default_state(component->dev);
 
        dev_dbg(dev, "ASoC: Scheduling resume work\n");
 
        /* deactivate pins to sleep state */
        for_each_card_components(card, component)
-               if (!component->active)
+               if (!snd_soc_component_active(component))
                        pinctrl_pm_select_sleep_state(component->dev);
 
 probe_end:
 
        }
 
        for_each_rtd_components(rtd, i, component)
-               if (!component->active)
+               if (!snd_soc_component_active(component))
                        pinctrl_pm_select_sleep_state(component->dev);
 
        return 0;
 
        /* Symmetry only applies if we've already got an active stream. */
        for_each_rtd_dais(rtd, i, dai) {
-               if (dai->active) {
+               if (snd_soc_dai_active(dai)) {
                        ret = soc_pcm_apply_symmetry(substream, dai);
                        if (ret != 0)
                                goto config_err;
        }
 
        for_each_rtd_components(rtd, i, component)
-               if (!component->active)
+               if (!snd_soc_component_active(component))
                        pinctrl_pm_select_sleep_state(component->dev);
 
        return ret;
 
        /* clear the corresponding DAIs parameters when going to be inactive */
        for_each_rtd_dais(rtd, i, dai) {
-               int active = dai->stream_active[substream->stream];
+               int active = snd_soc_dai_stream_active(dai, substream->stream);
 
-               if (dai->active == 1) {
+               if (snd_soc_dai_active(dai) == 1) {
                        dai->rate = 0;
                        dai->channels = 0;
                        dai->sample_bits = 0;
 
        for_each_rtd_cpu_dais (fe, i, fe_cpu_dai) {
                /* Symmetry only applies if we've got an active stream. */
-               if (fe_cpu_dai->active) {
+               if (snd_soc_dai_active(fe_cpu_dai)) {
                        err = soc_pcm_apply_symmetry(fe_substream, fe_cpu_dai);
                        if (err < 0)
                                return err;
 
                /* Symmetry only applies if we've got an active stream. */
                for_each_rtd_dais(rtd, i, dai) {
-                       if (dai->active) {
+                       if (snd_soc_dai_active(dai)) {
                                err = soc_pcm_apply_symmetry(fe_substream, dai);
                                if (err < 0)
                                        return err;
                return 0;
 
        /* only check active links */
-       if (!asoc_rtd_to_cpu(fe, 0)->active)
+       if (!snd_soc_dai_active(asoc_rtd_to_cpu(fe, 0)))
                return 0;
 
        /* DAPM sync will call this to update DSP paths */
                        continue;
 
                /* skip if FE isn't currently playing/capturing */
-               if (!asoc_rtd_to_cpu(fe, 0)->stream_active[stream] ||
-                   !asoc_rtd_to_codec(fe, 0)->stream_active[stream])
+               if (!snd_soc_dai_stream_active(asoc_rtd_to_cpu(fe, 0), stream) ||
+                   !snd_soc_dai_stream_active(asoc_rtd_to_codec(fe, 0), stream))
                        continue;
 
                paths = dpcm_path_get(fe, stream, &list);