static int rt712_sdca_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 rt712_sdca_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 rt712_sdca_pcm_hw_params(struct snd_pcm_substream *substream,
        struct sdw_stream_config stream_config;
        struct sdw_port_config port_config;
        enum sdw_data_direction direction;
-       struct sdw_stream_data *stream;
+       struct sdw_stream_runtime *sdw_stream;
        int retval, port, num_channels;
        unsigned int sampling_rate;
 
        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 (!rt712->slave)
        port_config.num = port;
 
        retval = sdw_stream_add_slave(rt712->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 rt712_sdca_priv *rt712 = 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 (!rt712->slave)
                return -EINVAL;
 
-       sdw_stream_remove_slave(rt712->slave, stream->sdw_stream);
+       sdw_stream_remove_slave(rt712->slave, sdw_stream);
        return 0;
 }