/* Digital audio interface glue - connects codec <--> CPU */
 SND_SOC_DAILINK_DEFS(sirf,
        DAILINK_COMP_ARRAY(COMP_EMPTY()),
-       DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "sirf-audio-codec")));
+       DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "sirf-audio-codec")),
+       DAILINK_COMP_ARRAY(COMP_EMPTY()));
 
 static struct snd_soc_dai_link sirf_audio_dai_link[] = {
        {
 
        sirf_audio_dai_link[0].cpus->of_node =
                of_parse_phandle(pdev->dev.of_node, "sirf,audio-platform", 0);
+       sirf_audio_dai_link[0].platforms->of_node =
+               of_parse_phandle(pdev->dev.of_node, "sirf,audio-platform", 0);
        sirf_audio_dai_link[0].codecs->of_node =
                of_parse_phandle(pdev->dev.of_node, "sirf,audio-codec", 0);
        sirf_audio_card->gpio_spk_pa = of_get_named_gpio(pdev->dev.of_node,