OSDN Git Service

ASoC: Intel: skl_hda_dsp_common: use modern dai_link style
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 6 Jun 2019 04:22:04 +0000 (13:22 +0900)
committerMark Brown <broonie@kernel.org>
Thu, 6 Jun 2019 21:19:42 +0000 (22:19 +0100)
ASoC is now supporting modern style dai_link
(= snd_soc_dai_link_component) for CPU/Codec/Platform.
This patch switches to use it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/skl_hda_dsp_common.c
sound/soc/intel/boards/skl_hda_dsp_generic.c

index 82f10bf..55fd82e 100644 (file)
@@ -38,77 +38,93 @@ int skl_hda_hdmi_add_pcm(struct snd_soc_card *card, int device)
        return 0;
 }
 
+SND_SOC_DAILINK_DEFS(idisp1,
+       DAILINK_COMP_ARRAY(COMP_CPU("iDisp1 Pin")),
+       DAILINK_COMP_ARRAY(COMP_CODEC("ehdaudio0D2", "intel-hdmi-hifi1")));
+
+SND_SOC_DAILINK_DEFS(idisp2,
+       DAILINK_COMP_ARRAY(COMP_CPU("iDisp2 Pin")),
+       DAILINK_COMP_ARRAY(COMP_CODEC("ehdaudio0D2", "intel-hdmi-hifi2")));
+
+SND_SOC_DAILINK_DEFS(idisp3,
+       DAILINK_COMP_ARRAY(COMP_CPU("iDisp3 Pin")),
+       DAILINK_COMP_ARRAY(COMP_CODEC("ehdaudio0D2", "intel-hdmi-hifi3")));
+
+SND_SOC_DAILINK_DEF(analog_cpu,
+       DAILINK_COMP_ARRAY(COMP_CPU("Analog CPU DAI")));
+SND_SOC_DAILINK_DEF(analog_codec,
+       DAILINK_COMP_ARRAY(COMP_CODEC("ehdaudio0D0", "Analog Codec DAI")));
+
+SND_SOC_DAILINK_DEF(digital_cpu,
+       DAILINK_COMP_ARRAY(COMP_CPU("Digital CPU DAI")));
+SND_SOC_DAILINK_DEF(digital_codec,
+       DAILINK_COMP_ARRAY(COMP_CODEC("ehdaudio0D0", "Digital Codec DAI")));
+
+SND_SOC_DAILINK_DEF(dmic_pin,
+       DAILINK_COMP_ARRAY(COMP_CPU("DMIC01 Pin")));
+
+SND_SOC_DAILINK_DEF(dmic_codec,
+       DAILINK_COMP_ARRAY(COMP_CODEC("dmic-codec", "dmic-hifi")));
+
+SND_SOC_DAILINK_DEF(dmic16k,
+       DAILINK_COMP_ARRAY(COMP_CPU("DMIC16k Pin")));
+
+SND_SOC_DAILINK_DEF(platform,
+       DAILINK_COMP_ARRAY(COMP_PLATFORM("0000:00:1f.3")));
+
 /* skl_hda_digital audio interface glue - connects codec <--> CPU */
 struct snd_soc_dai_link skl_hda_be_dai_links[HDA_DSP_MAX_BE_DAI_LINKS] = {
        /* Back End DAI links */
        {
                .name = "iDisp1",
                .id = 1,
-               .cpu_dai_name = "iDisp1 Pin",
-               .codec_name = "ehdaudio0D2",
-               .codec_dai_name = "intel-hdmi-hifi1",
                .dpcm_playback = 1,
                .no_pcm = 1,
+               SND_SOC_DAILINK_REG(idisp1),
        },
        {
                .name = "iDisp2",
                .id = 2,
-               .cpu_dai_name = "iDisp2 Pin",
-               .codec_name = "ehdaudio0D2",
-               .codec_dai_name = "intel-hdmi-hifi2",
                .dpcm_playback = 1,
                .no_pcm = 1,
+               SND_SOC_DAILINK_REG(idisp2),
        },
        {
                .name = "iDisp3",
                .id = 3,
-               .cpu_dai_name = "iDisp3 Pin",
-               .codec_name = "ehdaudio0D2",
-               .codec_dai_name = "intel-hdmi-hifi3",
                .dpcm_playback = 1,
                .no_pcm = 1,
+               SND_SOC_DAILINK_REG(idisp3),
        },
        {
                .name = "Analog Playback and Capture",
                .id = 4,
-               .cpu_dai_name = "Analog CPU DAI",
-               .codec_name = "ehdaudio0D0",
-               .codec_dai_name = "Analog Codec DAI",
-               .platform_name = "0000:00:1f.3",
                .dpcm_playback = 1,
                .dpcm_capture = 1,
                .no_pcm = 1,
+               SND_SOC_DAILINK_REG(analog_cpu, analog_codec, platform),
        },
        {
                .name = "Digital Playback and Capture",
                .id = 5,
-               .cpu_dai_name = "Digital CPU DAI",
-               .codec_name = "ehdaudio0D0",
-               .codec_dai_name = "Digital Codec DAI",
-               .platform_name = "0000:00:1f.3",
                .dpcm_playback = 1,
                .dpcm_capture = 1,
                .no_pcm = 1,
+               SND_SOC_DAILINK_REG(digital_cpu, digital_codec, platform),
        },
        {
                .name = "dmic01",
                .id = 6,
-               .cpu_dai_name = "DMIC01 Pin",
-               .codec_name = "dmic-codec",
-               .codec_dai_name = "dmic-hifi",
-               .platform_name = "0000:00:1f.3",
                .dpcm_capture = 1,
                .no_pcm = 1,
+               SND_SOC_DAILINK_REG(dmic_pin, dmic_codec, platform),
        },
        {
                .name = "dmic16k",
                .id = 7,
-               .cpu_dai_name = "DMIC16k Pin",
-               .codec_name = "dmic-codec",
-               .codec_dai_name = "dmic-hifi",
-               .platform_name = "0000:00:1f.3",
                .dpcm_capture = 1,
                .no_pcm = 1,
+               SND_SOC_DAILINK_REG(dmic16k, dmic_codec, platform),
        },
 };
 
index fc52d3a..9ed68eb 100644 (file)
@@ -69,7 +69,7 @@ skl_hda_add_dai_link(struct snd_soc_card *card, struct snd_soc_dai_link *link)
        int ret = 0;
 
        dev_dbg(card->dev, "%s: dai link name - %s\n", __func__, link->name);
-       link->platform_name = ctx->platform_name;
+       link->platforms->name = ctx->platform_name;
        link->nonatomic = 1;
 
        if (strstr(link->name, "HDMI")) {
@@ -142,7 +142,7 @@ static int skl_hda_fill_card_info(struct snd_soc_acpi_mach_params *mach_params)
        card->num_dapm_routes = num_route;
 
        for_each_card_prelinks(card, i, dai_link)
-               dai_link->platform_name = mach_params->platform;
+               dai_link->platforms->name = mach_params->platform;
 
        return 0;
 }