struct sof_card_private *ctx,
                           struct snd_soc_acpi_mach *mach)
 {
-       struct snd_soc_dai_link *link;
        int i;
 
        if (mach->mach_params.common_hdmi_codec_drv &&
         * if HDMI is not enabled in kernel config, or
         * hdmi codec is not supported
         */
-       for (i = HDMI_LINK_START; i <= HDMI_LINE_END; i++) {
-               link = &card->dai_link[i];
-               link->codecs[0].name = "snd-soc-dummy";
-               link->codecs[0].dai_name = "snd-soc-dummy-dai";
-       }
+       for (i = HDMI_LINK_START; i <= HDMI_LINE_END; i++)
+               card->dai_link[i].codecs[0] = asoc_dummy_dlc;
 }
 
 static int snd_ehl_rt5660_probe(struct platform_device *pdev)
 
        }
 };
 
-static struct snd_soc_dai_link_component dummy_component[] = {
-       {
-               .name = "snd-soc-dummy",
-               .dai_name = "snd-soc-dummy-dai",
-       }
-};
-
 static int create_spk_amp_dai_links(struct device *dev,
                                    struct snd_soc_dai_link *links,
                                    struct snd_soc_dai_link_component *cpus,
                goto devm_err;
 
        links[*id].id = *id;
-       links[*id].codecs = dummy_component;
-       links[*id].num_codecs = ARRAY_SIZE(dummy_component);
+       links[*id].codecs = &asoc_dummy_dlc;
+       links[*id].num_codecs = 1;
        links[*id].platforms = platform_component;
        links[*id].num_platforms = ARRAY_SIZE(platform_component);
 
 
        }
 };
 
-static struct snd_soc_dai_link_component dummy_component[] = {
-       {
-               .name = "snd-soc-dummy",
-               .dai_name = "snd-soc-dummy-dai",
-       }
-};
-
 static int sof_es8336_late_probe(struct snd_soc_card *card)
 {
        struct sof_es8336_private *priv = snd_soc_card_get_drvdata(card);
                        if (!links[id].name)
                                return NULL;
                        links[id].id = id + hdmi_id_offset;
-                       links[id].codecs = dummy_component;
-                       links[id].num_codecs = ARRAY_SIZE(dummy_component);
+                       links[id].codecs = &asoc_dummy_dlc;
+                       links[id].num_codecs = 1;
                        links[id].platforms = platform_component;
                        links[id].num_platforms = ARRAY_SIZE(platform_component);
                        links[id].dpcm_capture = 1;
 
        }
 };
 
-static struct snd_soc_dai_link_component dummy_component[] = {
-       {
-               .name = "snd-soc-dummy",
-               .dai_name = "snd-soc-dummy-dai",
-       }
-};
-
 static struct snd_soc_dai_link *sof_card_dai_links_create(struct device *dev,
                                                          int ssp_codec,
                                                          int ssp_amp,
                links[id].name = devm_kasprintf(dev, GFP_KERNEL, "SSP%d-BT", port);
                if (!links[id].name)
                        goto devm_err;
-               links[id].codecs = dummy_component;
-               links[id].num_codecs = ARRAY_SIZE(dummy_component);
+               links[id].codecs = &asoc_dummy_dlc;
+               links[id].num_codecs = 1;
                links[id].platforms = platform_component;
                links[id].num_platforms = ARRAY_SIZE(platform_component);
                links[id].dpcm_playback = 1;
 
                                devm_kasprintf(dev, GFP_KERNEL,
                                               "intel-hdmi-hifi%d", i);
                } else {
-                       idisp_components[i - 1].name = "snd-soc-dummy";
-                       idisp_components[i - 1].dai_name = "snd-soc-dummy-dai";
+                       idisp_components[i - 1] = asoc_dummy_dlc;
                }
                if (!idisp_components[i - 1].dai_name)
                        goto devm_err;
 
        }
 };
 
-static struct snd_soc_dai_link_component dummy_component[] = {
-       {
-               .name = "snd-soc-dummy",
-               .dai_name = "snd-soc-dummy-dai",
-       }
-};
-
 #define IDISP_CODEC_MASK       0x4
 
 static struct snd_soc_dai_link *sof_card_dai_links_create(struct device *dev,
                        if (!idisp_components[i - 1].dai_name)
                                goto devm_err;
                } else {
-                       idisp_components[i - 1].name = "snd-soc-dummy";
-                       idisp_components[i - 1].dai_name = "snd-soc-dummy-dai";
+                       idisp_components[i - 1] = asoc_dummy_dlc;
                }
 
                links[id].codecs = &idisp_components[i - 1];
                links[id].name = devm_kasprintf(dev, GFP_KERNEL, "SSP%d-BT", port);
                if (!links[id].name)
                        goto devm_err;
-               links[id].codecs = dummy_component;
-               links[id].num_codecs = ARRAY_SIZE(dummy_component);
+               links[id].codecs = &asoc_dummy_dlc;
+               links[id].num_codecs = 1;
                links[id].platforms = platform_component;
                links[id].num_platforms = ARRAY_SIZE(platform_component);
                links[id].dpcm_playback = 1;
 
                        if (!idisp_components[i].dai_name)
                                return -ENOMEM;
                } else {
-                       idisp_components[i].name = "snd-soc-dummy";
-                       idisp_components[i].dai_name = "snd-soc-dummy-dai";
+                       idisp_components[i] = asoc_dummy_dlc;
                }
 
                cpu_name = devm_kasprintf(dev, GFP_KERNEL,
                if (!name)
                        return -ENOMEM;
 
-               ssp_components = devm_kzalloc(dev, sizeof(*ssp_components),
-                                               GFP_KERNEL);
-               if (!ssp_components)
-                       return -ENOMEM;
-
-               ssp_components->name = "snd-soc-dummy";
-               ssp_components->dai_name = "snd-soc-dummy-dai";
-
                cpu_name = devm_kasprintf(dev, GFP_KERNEL, "SSP%d Pin", port);
                if (!cpu_name)
                        return -ENOMEM;
 
                cpus[cpu_id].dai_name = cpu_name;
                init_dai_link(dev, links + link_index, be_id, name, 1, 1,
-                               cpus + cpu_id, 1, ssp_components, 1, NULL, NULL);
+                               cpus + cpu_id, 1, &asoc_dummy_dlc, 1, NULL, NULL);
        }
 
        card->dai_link = links;
 
        }
 };
 
-static struct snd_soc_dai_link_component dummy_component[] = {
-       {
-               .name = "snd-soc-dummy",
-               .dai_name = "snd-soc-dummy-dai",
-       }
-};
-
 static int sof_hdmi_init(struct snd_soc_pcm_runtime *rtd)
 {
        struct sof_card_private *ctx = snd_soc_card_get_drvdata(rtd->card);
                        if (!links[id].name)
                                return NULL;
                        links[id].id = id;
-                       links[id].codecs = dummy_component;
-                       links[id].num_codecs = ARRAY_SIZE(dummy_component);
+                       links[id].codecs = &asoc_dummy_dlc;
+                       links[id].num_codecs = 1;
                        links[id].platforms = platform_component;
                        links[id].num_platforms = ARRAY_SIZE(platform_component);
                        links[id].dpcm_capture = 1;
                                if (!idisp_components[i - 1].dai_name)
                                        goto devm_err;
                        } else {
-                               idisp_components[i - 1].name = "snd-soc-dummy";
-                               idisp_components[i - 1].dai_name = "snd-soc-dummy-dai";
+                               idisp_components[i - 1] = asoc_dummy_dlc;
                        }
 
                        links[id].codecs = &idisp_components[i - 1];
                links[id].name = devm_kasprintf(dev, GFP_KERNEL, "SSP%d-BT", port);
                if (!links[id].name)
                        goto devm_err;
-               links[id].codecs = dummy_component;
-               links[id].num_codecs = ARRAY_SIZE(dummy_component);
+               links[id].codecs = &asoc_dummy_dlc;
+               links[id].num_codecs = 1;
                links[id].platforms = platform_component;
                links[id].num_platforms = ARRAY_SIZE(platform_component);
                links[id].dpcm_playback = 1;