Commit 09d95072 authored by Mark Brown's avatar Mark Brown

ASoC: remove unnecessary dai_link->platform

Merge series from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:

Current ASoC will ignore already connected component when binding Card.
This will happen mainly "CPU Component" is handled as "Platform Component",
which was needed before.

	static int snd_soc_rtd_add_component(...)
	{
		...
		for_each_rtd_components(rtd, i, comp) {
			/* already connected */
			if (comp == component)
				return 0;
		}
		...
	}

Some drivers are still using CPU or Dummy Component as Platform Component,
but these are no meaning or ignored.
This patch-set remove these.
parents 37b58bec e7098ba9
...@@ -473,24 +473,21 @@ static int atmel_classd_asoc_card_init(struct device *dev, ...@@ -473,24 +473,21 @@ static int atmel_classd_asoc_card_init(struct device *dev,
if (!dai_link) if (!dai_link)
return -ENOMEM; return -ENOMEM;
comp = devm_kzalloc(dev, 3 * sizeof(*comp), GFP_KERNEL); comp = devm_kzalloc(dev, 2 * sizeof(*comp), GFP_KERNEL);
if (!comp) if (!comp)
return -ENOMEM; return -ENOMEM;
dai_link->cpus = &comp[0]; dai_link->cpus = &comp[0];
dai_link->codecs = &comp[1]; dai_link->codecs = &comp[1];
dai_link->platforms = &comp[2];
dai_link->num_cpus = 1; dai_link->num_cpus = 1;
dai_link->num_codecs = 1; dai_link->num_codecs = 1;
dai_link->num_platforms = 1;
dai_link->name = "CLASSD"; dai_link->name = "CLASSD";
dai_link->stream_name = "CLASSD PCM"; dai_link->stream_name = "CLASSD PCM";
dai_link->codecs->dai_name = "snd-soc-dummy-dai"; dai_link->codecs->dai_name = "snd-soc-dummy-dai";
dai_link->cpus->dai_name = dev_name(dev); dai_link->cpus->dai_name = dev_name(dev);
dai_link->codecs->name = "snd-soc-dummy"; dai_link->codecs->name = "snd-soc-dummy";
dai_link->platforms->name = dev_name(dev);
card->dai_link = dai_link; card->dai_link = dai_link;
card->num_links = 1; card->num_links = 1;
......
...@@ -496,24 +496,21 @@ static int atmel_pdmic_asoc_card_init(struct device *dev, ...@@ -496,24 +496,21 @@ static int atmel_pdmic_asoc_card_init(struct device *dev,
if (!dai_link) if (!dai_link)
return -ENOMEM; return -ENOMEM;
comp = devm_kzalloc(dev, 3 * sizeof(*comp), GFP_KERNEL); comp = devm_kzalloc(dev, 2 * sizeof(*comp), GFP_KERNEL);
if (!comp) if (!comp)
return -ENOMEM; return -ENOMEM;
dai_link->cpus = &comp[0]; dai_link->cpus = &comp[0];
dai_link->codecs = &comp[1]; dai_link->codecs = &comp[1];
dai_link->platforms = &comp[2];
dai_link->num_cpus = 1; dai_link->num_cpus = 1;
dai_link->num_codecs = 1; dai_link->num_codecs = 1;
dai_link->num_platforms = 1;
dai_link->name = "PDMIC"; dai_link->name = "PDMIC";
dai_link->stream_name = "PDMIC PCM"; dai_link->stream_name = "PDMIC PCM";
dai_link->codecs->dai_name = "snd-soc-dummy-dai"; dai_link->codecs->dai_name = "snd-soc-dummy-dai";
dai_link->cpus->dai_name = dev_name(dev); dai_link->cpus->dai_name = dev_name(dev);
dai_link->codecs->name = "snd-soc-dummy"; dai_link->codecs->name = "snd-soc-dummy";
dai_link->platforms->name = dev_name(dev);
card->dai_link = dai_link; card->dai_link = dai_link;
card->num_links = 1; card->num_links = 1;
......
...@@ -207,8 +207,8 @@ static int imx_audmix_probe(struct platform_device *pdev) ...@@ -207,8 +207,8 @@ static int imx_audmix_probe(struct platform_device *pdev)
for (i = 0; i < num_dai; i++) { for (i = 0; i < num_dai; i++) {
struct snd_soc_dai_link_component *dlc; struct snd_soc_dai_link_component *dlc;
/* for CPU/Codec/Platform x 2 */ /* for CPU/Codec x 2 */
dlc = devm_kcalloc(&pdev->dev, 6, sizeof(*dlc), GFP_KERNEL); dlc = devm_kcalloc(&pdev->dev, 4, sizeof(*dlc), GFP_KERNEL);
if (!dlc) if (!dlc)
return -ENOMEM; return -ENOMEM;
...@@ -240,11 +240,9 @@ static int imx_audmix_probe(struct platform_device *pdev) ...@@ -240,11 +240,9 @@ static int imx_audmix_probe(struct platform_device *pdev)
priv->dai[i].cpus = &dlc[0]; priv->dai[i].cpus = &dlc[0];
priv->dai[i].codecs = &dlc[1]; priv->dai[i].codecs = &dlc[1];
priv->dai[i].platforms = &dlc[2];
priv->dai[i].num_cpus = 1; priv->dai[i].num_cpus = 1;
priv->dai[i].num_codecs = 1; priv->dai[i].num_codecs = 1;
priv->dai[i].num_platforms = 1;
priv->dai[i].name = dai_name; priv->dai[i].name = dai_name;
priv->dai[i].stream_name = "HiFi-AUDMIX-FE"; priv->dai[i].stream_name = "HiFi-AUDMIX-FE";
...@@ -252,7 +250,6 @@ static int imx_audmix_probe(struct platform_device *pdev) ...@@ -252,7 +250,6 @@ static int imx_audmix_probe(struct platform_device *pdev)
priv->dai[i].codecs->name = "snd-soc-dummy"; priv->dai[i].codecs->name = "snd-soc-dummy";
priv->dai[i].cpus->of_node = args.np; priv->dai[i].cpus->of_node = args.np;
priv->dai[i].cpus->dai_name = dev_name(&cpu_pdev->dev); priv->dai[i].cpus->dai_name = dev_name(&cpu_pdev->dev);
priv->dai[i].platforms->of_node = args.np;
priv->dai[i].dynamic = 1; priv->dai[i].dynamic = 1;
priv->dai[i].dpcm_playback = 1; priv->dai[i].dpcm_playback = 1;
priv->dai[i].dpcm_capture = (i == 0 ? 1 : 0); priv->dai[i].dpcm_capture = (i == 0 ? 1 : 0);
...@@ -267,20 +264,17 @@ static int imx_audmix_probe(struct platform_device *pdev) ...@@ -267,20 +264,17 @@ static int imx_audmix_probe(struct platform_device *pdev)
be_cp = devm_kasprintf(&pdev->dev, GFP_KERNEL, be_cp = devm_kasprintf(&pdev->dev, GFP_KERNEL,
"AUDMIX-Capture-%d", i); "AUDMIX-Capture-%d", i);
priv->dai[num_dai + i].cpus = &dlc[3]; priv->dai[num_dai + i].cpus = &dlc[2];
priv->dai[num_dai + i].codecs = &dlc[4]; priv->dai[num_dai + i].codecs = &dlc[3];
priv->dai[num_dai + i].platforms = &dlc[5];
priv->dai[num_dai + i].num_cpus = 1; priv->dai[num_dai + i].num_cpus = 1;
priv->dai[num_dai + i].num_codecs = 1; priv->dai[num_dai + i].num_codecs = 1;
priv->dai[num_dai + i].num_platforms = 1;
priv->dai[num_dai + i].name = be_name; priv->dai[num_dai + i].name = be_name;
priv->dai[num_dai + i].codecs->dai_name = "snd-soc-dummy-dai"; priv->dai[num_dai + i].codecs->dai_name = "snd-soc-dummy-dai";
priv->dai[num_dai + i].codecs->name = "snd-soc-dummy"; priv->dai[num_dai + i].codecs->name = "snd-soc-dummy";
priv->dai[num_dai + i].cpus->of_node = audmix_np; priv->dai[num_dai + i].cpus->of_node = audmix_np;
priv->dai[num_dai + i].cpus->dai_name = be_name; priv->dai[num_dai + i].cpus->dai_name = be_name;
priv->dai[num_dai + i].platforms->name = "snd-soc-dummy";
priv->dai[num_dai + i].no_pcm = 1; priv->dai[num_dai + i].no_pcm = 1;
priv->dai[num_dai + i].dpcm_playback = 1; priv->dai[num_dai + i].dpcm_playback = 1;
priv->dai[num_dai + i].dpcm_capture = 1; priv->dai[num_dai + i].dpcm_capture = 1;
......
...@@ -26,7 +26,7 @@ static int imx_spdif_audio_probe(struct platform_device *pdev) ...@@ -26,7 +26,7 @@ static int imx_spdif_audio_probe(struct platform_device *pdev)
} }
data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
comp = devm_kzalloc(&pdev->dev, 3 * sizeof(*comp), GFP_KERNEL); comp = devm_kzalloc(&pdev->dev, 2 * sizeof(*comp), GFP_KERNEL);
if (!data || !comp) { if (!data || !comp) {
ret = -ENOMEM; ret = -ENOMEM;
goto end; goto end;
...@@ -34,18 +34,15 @@ static int imx_spdif_audio_probe(struct platform_device *pdev) ...@@ -34,18 +34,15 @@ static int imx_spdif_audio_probe(struct platform_device *pdev)
data->dai.cpus = &comp[0]; data->dai.cpus = &comp[0];
data->dai.codecs = &comp[1]; data->dai.codecs = &comp[1];
data->dai.platforms = &comp[2];
data->dai.num_cpus = 1; data->dai.num_cpus = 1;
data->dai.num_codecs = 1; data->dai.num_codecs = 1;
data->dai.num_platforms = 1;
data->dai.name = "S/PDIF PCM"; data->dai.name = "S/PDIF PCM";
data->dai.stream_name = "S/PDIF PCM"; data->dai.stream_name = "S/PDIF PCM";
data->dai.codecs->dai_name = "snd-soc-dummy-dai"; data->dai.codecs->dai_name = "snd-soc-dummy-dai";
data->dai.codecs->name = "snd-soc-dummy"; data->dai.codecs->name = "snd-soc-dummy";
data->dai.cpus->of_node = spdif_np; data->dai.cpus->of_node = spdif_np;
data->dai.platforms->of_node = spdif_np;
data->dai.playback_only = true; data->dai.playback_only = true;
data->dai.capture_only = true; data->dai.capture_only = true;
......
...@@ -1685,8 +1685,8 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg, ...@@ -1685,8 +1685,8 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg,
struct snd_soc_dai_link_component *dlc; struct snd_soc_dai_link_component *dlc;
int ret; int ret;
/* link + cpu + codec + platform */ /* link + cpu + codec */
link = devm_kzalloc(tplg->dev, sizeof(*link) + (3 * sizeof(*dlc)), GFP_KERNEL); link = devm_kzalloc(tplg->dev, sizeof(*link) + (2 * sizeof(*dlc)), GFP_KERNEL);
if (link == NULL) if (link == NULL)
return -ENOMEM; return -ENOMEM;
...@@ -1694,11 +1694,9 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg, ...@@ -1694,11 +1694,9 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg,
link->cpus = &dlc[0]; link->cpus = &dlc[0];
link->codecs = &dlc[1]; link->codecs = &dlc[1];
link->platforms = &dlc[2];
link->num_cpus = 1; link->num_cpus = 1;
link->num_codecs = 1; link->num_codecs = 1;
link->num_platforms = 1;
link->dobj.index = tplg->index; link->dobj.index = tplg->index;
link->dobj.type = SND_SOC_DOBJ_DAI_LINK; link->dobj.type = SND_SOC_DOBJ_DAI_LINK;
...@@ -1726,8 +1724,6 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg, ...@@ -1726,8 +1724,6 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg,
link->codecs->name = "snd-soc-dummy"; link->codecs->name = "snd-soc-dummy";
link->codecs->dai_name = "snd-soc-dummy-dai"; link->codecs->dai_name = "snd-soc-dummy-dai";
link->platforms->name = "snd-soc-dummy";
/* enable DPCM */ /* enable DPCM */
link->dynamic = 1; link->dynamic = 1;
link->ignore_pmdown_time = 1; link->ignore_pmdown_time = 1;
......
...@@ -365,20 +365,17 @@ static int omap_hdmi_audio_probe(struct platform_device *pdev) ...@@ -365,20 +365,17 @@ static int omap_hdmi_audio_probe(struct platform_device *pdev)
if (!card->dai_link) if (!card->dai_link)
return -ENOMEM; return -ENOMEM;
compnent = devm_kzalloc(dev, 3 * sizeof(*compnent), GFP_KERNEL); compnent = devm_kzalloc(dev, 2 * sizeof(*compnent), GFP_KERNEL);
if (!compnent) if (!compnent)
return -ENOMEM; return -ENOMEM;
card->dai_link->cpus = &compnent[0]; card->dai_link->cpus = &compnent[0];
card->dai_link->num_cpus = 1; card->dai_link->num_cpus = 1;
card->dai_link->codecs = &compnent[1]; card->dai_link->codecs = &compnent[1];
card->dai_link->num_codecs = 1; card->dai_link->num_codecs = 1;
card->dai_link->platforms = &compnent[2];
card->dai_link->num_platforms = 1;
card->dai_link->name = card->name; card->dai_link->name = card->name;
card->dai_link->stream_name = card->name; card->dai_link->stream_name = card->name;
card->dai_link->cpus->dai_name = dev_name(ad->dssdev); card->dai_link->cpus->dai_name = dev_name(ad->dssdev);
card->dai_link->platforms->name = dev_name(ad->dssdev);
card->dai_link->codecs->name = "snd-soc-dummy"; card->dai_link->codecs->name = "snd-soc-dummy";
card->dai_link->codecs->dai_name = "snd-soc-dummy-dai"; card->dai_link->codecs->dai_name = "snd-soc-dummy-dai";
card->num_links = 1; card->num_links = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment