#include <sound/soc.h>
 #include <linux/dma-mapping.h>
 #include <linux/of.h>
-#include <linux/of_dma.h>
 
 #include <sound/dmaengine_pcm.h>
 
 };
 
 static void dmaengine_pcm_request_chan_of(struct dmaengine_pcm *pcm,
-       struct device_node *of_node)
+       struct device *dev)
 {
        unsigned int i;
 
-       if ((pcm->flags & SND_DMAENGINE_PCM_FLAG_NO_DT) || !of_node)
+       if ((pcm->flags & SND_DMAENGINE_PCM_FLAG_NO_DT) || !dev->of_node)
                return;
 
        if (pcm->flags & SND_DMAENGINE_PCM_FLAG_HALF_DUPLEX) {
-               pcm->chan[0] = of_dma_request_slave_channel(of_node, "rx-tx");
+               pcm->chan[0] = dma_request_slave_channel(dev, "rx-tx");
                pcm->chan[1] = pcm->chan[0];
        } else {
                for (i = SNDRV_PCM_STREAM_PLAYBACK; i <= SNDRV_PCM_STREAM_CAPTURE; i++) {
-                       pcm->chan[i] = of_dma_request_slave_channel(of_node,
+                       pcm->chan[i] = dma_request_slave_channel(dev,
                                        dmaengine_pcm_dma_channel_names[i]);
                }
        }
        pcm->config = config;
        pcm->flags = flags;
 
-       dmaengine_pcm_request_chan_of(pcm, dev->of_node);
+       dmaengine_pcm_request_chan_of(pcm, dev);
 
        if (flags & SND_DMAENGINE_PCM_FLAG_NO_RESIDUE)
                return snd_soc_add_platform(dev, &pcm->platform,