#include "edma-pcm.h"
 #include "davinci-i2s.h"
 
+#define DRV_NAME "davinci-i2s"
 
 /*
  * NOTE:  terminology here is confusing.
                struct snd_pcm_substream *substream)
 {
        struct snd_soc_pcm_runtime *rtd = substream->private_data;
-       struct snd_soc_platform *platform = rtd->platform;
+       struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME);
        int playback = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK);
        u32 spcr;
        u32 mask = playback ? DAVINCI_MCBSP_SPCR_XRST : DAVINCI_MCBSP_SPCR_RRST;
        if (playback) {
                /* Stop the DMA to avoid data loss */
                /* while the transmitter is out of reset to handle XSYNCERR */
-               if (platform->driver->ops->trigger) {
-                       int ret = platform->driver->ops->trigger(substream,
+               if (component->driver->ops->trigger) {
+                       int ret = component->driver->ops->trigger(substream,
                                SNDRV_PCM_TRIGGER_STOP);
                        if (ret < 0)
                                printk(KERN_DEBUG "Playback DMA stop failed\n");
                toggle_clock(dev, playback);
 
                /* Restart the DMA */
-               if (platform->driver->ops->trigger) {
-                       int ret = platform->driver->ops->trigger(substream,
+               if (component->driver->ops->trigger) {
+                       int ret = component->driver->ops->trigger(substream,
                                SNDRV_PCM_TRIGGER_START);
                        if (ret < 0)
                                printk(KERN_DEBUG "Playback DMA start failed\n");
 };
 
 static const struct snd_soc_component_driver davinci_i2s_component = {
-       .name           = "davinci-i2s",
+       .name           = DRV_NAME,
 };
 
 static int davinci_i2s_probe(struct platform_device *pdev)