Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: soc.h: remove num_cpus/codecs

Current rtd has both dai_link pointer (A) and num_cpus/codecs (B).

(A) rtd->dai_link = dai_link;
(B) rtd->num_cpus = dai_link->num_cpus;
(B) rtd->num_codecs = dai_link->num_codecs;

But, we can get num_cpus/codecs (B) via dai_link (A).
This means we don't need to keep num_cpus/codecs on rtd.
This patch removes these.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87sfkmv9n3.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Kuninori Morimoto and committed by
Mark Brown
3989ade2 5ba3522c

+26 -30
+4 -6
include/sound/soc.h
··· 1078 1078 * asoc_rtd_to_codec() 1079 1079 */ 1080 1080 struct snd_soc_dai **dais; 1081 - unsigned int num_codecs; 1082 - unsigned int num_cpus; 1083 1081 1084 1082 struct snd_soc_dapm_widget *playback_widget; 1085 1083 struct snd_soc_dapm_widget *capture_widget; ··· 1106 1108 }; 1107 1109 /* see soc_new_pcm_runtime() */ 1108 1110 #define asoc_rtd_to_cpu(rtd, n) (rtd)->dais[n] 1109 - #define asoc_rtd_to_codec(rtd, n) (rtd)->dais[n + (rtd)->num_cpus] 1111 + #define asoc_rtd_to_codec(rtd, n) (rtd)->dais[n + (rtd)->dai_link->num_cpus] 1110 1112 #define asoc_substream_to_rtd(substream) \ 1111 1113 (struct snd_soc_pcm_runtime *)snd_pcm_substream_chip(substream) 1112 1114 ··· 1116 1118 (i)++) 1117 1119 #define for_each_rtd_cpu_dais(rtd, i, dai) \ 1118 1120 for ((i) = 0; \ 1119 - ((i) < rtd->num_cpus) && ((dai) = asoc_rtd_to_cpu(rtd, i)); \ 1121 + ((i) < rtd->dai_link->num_cpus) && ((dai) = asoc_rtd_to_cpu(rtd, i)); \ 1120 1122 (i)++) 1121 1123 #define for_each_rtd_codec_dais(rtd, i, dai) \ 1122 1124 for ((i) = 0; \ 1123 - ((i) < rtd->num_codecs) && ((dai) = asoc_rtd_to_codec(rtd, i)); \ 1125 + ((i) < rtd->dai_link->num_codecs) && ((dai) = asoc_rtd_to_codec(rtd, i)); \ 1124 1126 (i)++) 1125 1127 #define for_each_rtd_dais(rtd, i, dai) \ 1126 1128 for ((i) = 0; \ 1127 - ((i) < (rtd)->num_cpus + (rtd)->num_codecs) && \ 1129 + ((i) < (rtd)->dai_link->num_cpus + (rtd)->dai_link->num_codecs) && \ 1128 1130 ((dai) = (rtd)->dais[i]); \ 1129 1131 (i)++) 1130 1132
+1 -1
sound/soc/amd/vangogh/acp5x-mach.c
··· 172 172 struct snd_soc_card *card = rtd->card; 173 173 struct snd_soc_dai *codec_dai; 174 174 int ret, i; 175 - unsigned int num_codecs = rtd->num_codecs; 175 + unsigned int num_codecs = rtd->dai_link->num_codecs; 176 176 unsigned int bclk_val; 177 177 178 178 ret = 0;
+1 -1
sound/soc/samsung/odroid.c
··· 97 97 if (ret < 0) 98 98 return ret; 99 99 100 - if (rtd->num_codecs > 1) { 100 + if (rtd->dai_link->num_codecs > 1) { 101 101 struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 1); 102 102 103 103 ret = snd_soc_dai_set_sysclk(codec_dai, 0, rclk_freq,
+2 -2
sound/soc/soc-compress.c
··· 560 560 BUILD_BUG_ON((int)SNDRV_PCM_STREAM_PLAYBACK != (int)SND_COMPRESS_PLAYBACK); 561 561 BUILD_BUG_ON((int)SNDRV_PCM_STREAM_CAPTURE != (int)SND_COMPRESS_CAPTURE); 562 562 563 - if (rtd->num_cpus > 1 || 564 - rtd->num_codecs > 1) { 563 + if (rtd->dai_link->num_cpus > 1 || 564 + rtd->dai_link->num_codecs > 1) { 565 565 dev_err(rtd->card->dev, 566 566 "Compress ASoC: Multi CPU/Codec not supported\n"); 567 567 return -EINVAL;
+1 -3
sound/soc/soc-core.c
··· 107 107 108 108 if (attr == &dev_attr_pmdown_time.attr) 109 109 return attr->mode; /* always visible */ 110 - return rtd->num_codecs ? attr->mode : 0; /* enabled only with codec */ 110 + return rtd->dai_link->num_codecs ? attr->mode : 0; /* enabled only with codec */ 111 111 } 112 112 113 113 static const struct attribute_group soc_dapm_dev_group = { ··· 482 482 * asoc_rtd_to_cpu() 483 483 * asoc_rtd_to_codec() 484 484 */ 485 - rtd->num_cpus = dai_link->num_cpus; 486 - rtd->num_codecs = dai_link->num_codecs; 487 485 rtd->card = card; 488 486 rtd->dai_link = dai_link; 489 487 rtd->num = card->num_rtd++;
+2 -2
sound/soc/soc-dapm.c
··· 4459 4459 if (rtd->dai_link->dynamic) 4460 4460 continue; 4461 4461 4462 - if (rtd->num_cpus == 1) { 4462 + if (rtd->dai_link->num_cpus == 1) { 4463 4463 for_each_rtd_codec_dais(rtd, i, codec_dai) 4464 4464 dapm_connect_dai_pair(card, rtd, codec_dai, 4465 4465 asoc_rtd_to_cpu(rtd, 0)); 4466 - } else if (rtd->num_codecs == rtd->num_cpus) { 4466 + } else if (rtd->dai_link->num_codecs == rtd->dai_link->num_cpus) { 4467 4467 for_each_rtd_codec_dais(rtd, i, codec_dai) 4468 4468 dapm_connect_dai_pair(card, rtd, codec_dai, 4469 4469 asoc_rtd_to_cpu(rtd, i));
+3 -3
sound/soc/soc-generic-dmaengine-pcm.c
··· 54 54 struct snd_dmaengine_dai_dma_data *dma_data; 55 55 int ret; 56 56 57 - if (rtd->num_cpus > 1) { 57 + if (rtd->dai_link->num_cpus > 1) { 58 58 dev_err(rtd->dev, 59 59 "%s doesn't support Multi CPU yet\n", __func__); 60 60 return -EINVAL; ··· 105 105 struct snd_dmaengine_dai_dma_data *dma_data; 106 106 struct snd_pcm_hardware hw; 107 107 108 - if (rtd->num_cpus > 1) { 108 + if (rtd->dai_link->num_cpus > 1) { 109 109 dev_err(rtd->dev, 110 110 "%s doesn't support Multi CPU yet\n", __func__); 111 111 return -EINVAL; ··· 179 179 struct dmaengine_pcm *pcm = soc_component_to_pcm(component); 180 180 struct snd_dmaengine_dai_dma_data *dma_data; 181 181 182 - if (rtd->num_cpus > 1) { 182 + if (rtd->dai_link->num_cpus > 1) { 183 183 dev_err(rtd->dev, 184 184 "%s doesn't support Multi CPU yet\n", __func__); 185 185 return NULL;
+10 -10
sound/soc/soc-pcm.c
··· 84 84 85 85 static inline const char *soc_cpu_dai_name(struct snd_soc_pcm_runtime *rtd) 86 86 { 87 - return (rtd)->num_cpus == 1 ? asoc_rtd_to_cpu(rtd, 0)->name : "multicpu"; 87 + return (rtd)->dai_link->num_cpus == 1 ? asoc_rtd_to_cpu(rtd, 0)->name : "multicpu"; 88 88 } 89 89 static inline const char *soc_codec_dai_name(struct snd_soc_pcm_runtime *rtd) 90 90 { 91 - return (rtd)->num_codecs == 1 ? asoc_rtd_to_codec(rtd, 0)->name : "multicodec"; 91 + return (rtd)->dai_link->num_codecs == 1 ? asoc_rtd_to_codec(rtd, 0)->name : "multicodec"; 92 92 } 93 93 94 94 #ifdef CONFIG_DEBUG_FS ··· 185 185 int stream; 186 186 char *buf; 187 187 188 - if (fe->num_cpus > 1) { 188 + if (fe->dai_link->num_cpus > 1) { 189 189 dev_err(fe->dev, 190 190 "%s doesn't support Multi CPU yet\n", __func__); 191 191 return -EINVAL; ··· 637 637 * connected to CPU DAI(s), use CPU DAI's directly and let 638 638 * channel allocation be fixed up later 639 639 */ 640 - if (rtd->num_codecs > 1) { 640 + if (rtd->dai_link->num_codecs > 1) { 641 641 hw->channels_min = cpu_chan_min; 642 642 hw->channels_max = cpu_chan_max; 643 643 } ··· 1379 1379 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(fe, 0); 1380 1380 int paths; 1381 1381 1382 - if (fe->num_cpus > 1) { 1382 + if (fe->dai_link->num_cpus > 1) { 1383 1383 dev_err(fe->dev, 1384 1384 "%s doesn't support Multi CPU yet\n", __func__); 1385 1385 return -EINVAL; ··· 1751 1751 * chan min/max cannot be enforced if there are multiple CODEC 1752 1752 * DAIs connected to a single CPU DAI, use CPU DAI's directly 1753 1753 */ 1754 - if (be->num_codecs == 1) { 1754 + if (be->dai_link->num_codecs == 1) { 1755 1755 struct snd_soc_pcm_stream *codec_stream = snd_soc_dai_get_pcm_stream( 1756 1756 asoc_rtd_to_codec(be, 0), stream); 1757 1757 ··· 2590 2590 if (!fe->dai_link->dynamic) 2591 2591 return 0; 2592 2592 2593 - if (fe->num_cpus > 1) { 2593 + if (fe->dai_link->num_cpus > 1) { 2594 2594 dev_err(fe->dev, 2595 2595 "%s doesn't support Multi CPU yet\n", __func__); 2596 2596 return -EINVAL; ··· 2734 2734 struct snd_soc_dai *cpu_dai; 2735 2735 int i; 2736 2736 2737 - if (rtd->dai_link->dynamic && rtd->num_cpus > 1) { 2737 + if (rtd->dai_link->dynamic && rtd->dai_link->num_cpus > 1) { 2738 2738 dev_err(rtd->dev, 2739 2739 "DPCM doesn't support Multi CPU for Front-Ends yet\n"); 2740 2740 return -EINVAL; ··· 2786 2786 SNDRV_PCM_STREAM_CAPTURE : SNDRV_PCM_STREAM_PLAYBACK; 2787 2787 2788 2788 for_each_rtd_codec_dais(rtd, i, codec_dai) { 2789 - if (rtd->num_cpus == 1) { 2789 + if (rtd->dai_link->num_cpus == 1) { 2790 2790 cpu_dai = asoc_rtd_to_cpu(rtd, 0); 2791 - } else if (rtd->num_cpus == rtd->num_codecs) { 2791 + } else if (rtd->dai_link->num_cpus == rtd->dai_link->num_codecs) { 2792 2792 cpu_dai = asoc_rtd_to_cpu(rtd, i); 2793 2793 } else { 2794 2794 dev_err(rtd->card->dev,
+2 -2
sound/soc/sof/topology.c
··· 1029 1029 break; 1030 1030 } 1031 1031 } 1032 - if (i == rtd->num_cpus) { 1032 + if (i == rtd->dai_link->num_cpus) { 1033 1033 dev_err(scomp->dev, "error: can't find BE for DAI %s\n", 1034 1034 w->name); 1035 1035 ··· 1051 1051 break; 1052 1052 } 1053 1053 } 1054 - if (i == rtd->num_cpus) { 1054 + if (i == rtd->dai_link->num_cpus) { 1055 1055 dev_err(scomp->dev, "error: can't find BE for DAI %s\n", 1056 1056 w->name); 1057 1057