static int rt1308_set_sdw_stream(struct snd_soc_dai *dai, void *sdw_stream,
                                int direction)
 {
-       struct sdw_stream_data *stream;
-
-       if (!sdw_stream)
-               return 0;
-
-       stream = kzalloc(sizeof(*stream), GFP_KERNEL);
-       if (!stream)
-               return -ENOMEM;
-
-       stream->sdw_stream = sdw_stream;
-
-       /* Use tx_mask or rx_mask to configure stream tag and set dma_data */
-       snd_soc_dai_dma_data_set(dai, direction, stream);
+       snd_soc_dai_dma_data_set(dai, direction, sdw_stream);
 
        return 0;
 }
 static void rt1308_sdw_shutdown(struct snd_pcm_substream *substream,
                                struct snd_soc_dai *dai)
 {
-       struct sdw_stream_data *stream;
-
-       stream = snd_soc_dai_get_dma_data(dai, substream);
        snd_soc_dai_set_dma_data(dai, substream, NULL);
-       kfree(stream);
 }
 
 static int rt1308_sdw_set_tdm_slot(struct snd_soc_dai *dai,
                snd_soc_component_get_drvdata(component);
        struct sdw_stream_config stream_config = {0};
        struct sdw_port_config port_config = {0};
-       struct sdw_stream_data *stream;
+       struct sdw_stream_runtime *sdw_stream;
        int retval;
 
        dev_dbg(dai->dev, "%s %s", __func__, dai->name);
-       stream = snd_soc_dai_get_dma_data(dai, substream);
+       sdw_stream = snd_soc_dai_get_dma_data(dai, substream);
 
-       if (!stream)
+       if (!sdw_stream)
                return -EINVAL;
 
        if (!rt1308->sdw_slave)
        }
 
        retval = sdw_stream_add_slave(rt1308->sdw_slave, &stream_config,
-                               &port_config, 1, stream->sdw_stream);
+                               &port_config, 1, sdw_stream);
        if (retval) {
                dev_err(dai->dev, "Unable to configure port\n");
                return retval;
        struct snd_soc_component *component = dai->component;
        struct rt1308_sdw_priv *rt1308 =
                snd_soc_component_get_drvdata(component);
-       struct sdw_stream_data *stream =
+       struct sdw_stream_runtime *sdw_stream =
                snd_soc_dai_get_dma_data(dai, substream);
 
        if (!rt1308->sdw_slave)
                return -EINVAL;
 
-       sdw_stream_remove_slave(rt1308->sdw_slave, stream->sdw_stream);
+       sdw_stream_remove_slave(rt1308->sdw_slave, sdw_stream);
        return 0;
 }