ASoC: soc.h: remove num_cpus/codecs
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 20 Sep 2022 06:32:16 +0000 (06:32 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 20 Sep 2022 11:19:30 +0000 (12:19 +0100)
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>
include/sound/soc.h
sound/soc/amd/vangogh/acp5x-mach.c
sound/soc/samsung/odroid.c
sound/soc/soc-compress.c
sound/soc/soc-core.c
sound/soc/soc-dapm.c
sound/soc/soc-generic-dmaengine-pcm.c
sound/soc/soc-pcm.c
sound/soc/sof/topology.c

index 4351d86..f5e0c40 100644 (file)
@@ -1078,8 +1078,6 @@ struct snd_soc_pcm_runtime {
         *      asoc_rtd_to_codec()
         */
        struct snd_soc_dai **dais;
-       unsigned int num_codecs;
-       unsigned int num_cpus;
 
        struct snd_soc_dapm_widget *playback_widget;
        struct snd_soc_dapm_widget *capture_widget;
@@ -1108,7 +1106,7 @@ struct snd_soc_pcm_runtime {
 };
 /* see soc_new_pcm_runtime()  */
 #define asoc_rtd_to_cpu(rtd, n)   (rtd)->dais[n]
-#define asoc_rtd_to_codec(rtd, n) (rtd)->dais[n + (rtd)->num_cpus]
+#define asoc_rtd_to_codec(rtd, n) (rtd)->dais[n + (rtd)->dai_link->num_cpus]
 #define asoc_substream_to_rtd(substream) \
        (struct snd_soc_pcm_runtime *)snd_pcm_substream_chip(substream)
 
@@ -1118,15 +1116,15 @@ struct snd_soc_pcm_runtime {
             (i)++)
 #define for_each_rtd_cpu_dais(rtd, i, dai)                             \
        for ((i) = 0;                                                   \
-            ((i) < rtd->num_cpus) && ((dai) = asoc_rtd_to_cpu(rtd, i)); \
+            ((i) < rtd->dai_link->num_cpus) && ((dai) = asoc_rtd_to_cpu(rtd, i)); \
             (i)++)
 #define for_each_rtd_codec_dais(rtd, i, dai)                           \
        for ((i) = 0;                                                   \
-            ((i) < rtd->num_codecs) && ((dai) = asoc_rtd_to_codec(rtd, i)); \
+            ((i) < rtd->dai_link->num_codecs) && ((dai) = asoc_rtd_to_codec(rtd, i)); \
             (i)++)
 #define for_each_rtd_dais(rtd, i, dai)                                 \
        for ((i) = 0;                                                   \
-            ((i) < (rtd)->num_cpus + (rtd)->num_codecs) &&             \
+            ((i) < (rtd)->dai_link->num_cpus + (rtd)->dai_link->num_codecs) && \
                     ((dai) = (rtd)->dais[i]);                          \
             (i)++)
 
index af3737e..eebf265 100644 (file)
@@ -172,7 +172,7 @@ static int acp5x_cs35l41_hw_params(struct snd_pcm_substream *substream,
        struct snd_soc_card *card = rtd->card;
        struct snd_soc_dai *codec_dai;
        int ret, i;
-       unsigned int num_codecs = rtd->num_codecs;
+       unsigned int num_codecs = rtd->dai_link->num_codecs;
        unsigned int bclk_val;
 
        ret = 0;
index 4ff12e2..1e0fefa 100644 (file)
@@ -97,7 +97,7 @@ static int odroid_card_be_hw_params(struct snd_pcm_substream *substream,
        if (ret < 0)
                return ret;
 
-       if (rtd->num_codecs > 1) {
+       if (rtd->dai_link->num_codecs > 1) {
                struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 1);
 
                ret = snd_soc_dai_set_sysclk(codec_dai, 0, rclk_freq,
index e9dd258..870f13e 100644 (file)
@@ -560,8 +560,8 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
        BUILD_BUG_ON((int)SNDRV_PCM_STREAM_PLAYBACK != (int)SND_COMPRESS_PLAYBACK);
        BUILD_BUG_ON((int)SNDRV_PCM_STREAM_CAPTURE  != (int)SND_COMPRESS_CAPTURE);
 
-       if (rtd->num_cpus > 1 ||
-           rtd->num_codecs > 1) {
+       if (rtd->dai_link->num_cpus > 1 ||
+           rtd->dai_link->num_codecs > 1) {
                dev_err(rtd->card->dev,
                        "Compress ASoC: Multi CPU/Codec not supported\n");
                return -EINVAL;
index df2bd80..a812487 100644 (file)
@@ -107,7 +107,7 @@ static umode_t soc_dev_attr_is_visible(struct kobject *kobj,
 
        if (attr == &dev_attr_pmdown_time.attr)
                return attr->mode; /* always visible */
-       return rtd->num_codecs ? attr->mode : 0; /* enabled only with codec */
+       return rtd->dai_link->num_codecs ? attr->mode : 0; /* enabled only with codec */
 }
 
 static const struct attribute_group soc_dapm_dev_group = {
@@ -482,8 +482,6 @@ static struct snd_soc_pcm_runtime *soc_new_pcm_runtime(
         *      asoc_rtd_to_cpu()
         *      asoc_rtd_to_codec()
         */
-       rtd->num_cpus   = dai_link->num_cpus;
-       rtd->num_codecs = dai_link->num_codecs;
        rtd->card       = card;
        rtd->dai_link   = dai_link;
        rtd->num        = card->num_rtd++;
index 2d105bf..f10133f 100644 (file)
@@ -4459,11 +4459,11 @@ void snd_soc_dapm_connect_dai_link_widgets(struct snd_soc_card *card)
                if (rtd->dai_link->dynamic)
                        continue;
 
-               if (rtd->num_cpus == 1) {
+               if (rtd->dai_link->num_cpus == 1) {
                        for_each_rtd_codec_dais(rtd, i, codec_dai)
                                dapm_connect_dai_pair(card, rtd, codec_dai,
                                                      asoc_rtd_to_cpu(rtd, 0));
-               } else if (rtd->num_codecs == rtd->num_cpus) {
+               } else if (rtd->dai_link->num_codecs == rtd->dai_link->num_cpus) {
                        for_each_rtd_codec_dais(rtd, i, codec_dai)
                                dapm_connect_dai_pair(card, rtd, codec_dai,
                                                      asoc_rtd_to_cpu(rtd, i));
index 8785846..3b99f61 100644 (file)
@@ -54,7 +54,7 @@ int snd_dmaengine_pcm_prepare_slave_config(struct snd_pcm_substream *substream,
        struct snd_dmaengine_dai_dma_data *dma_data;
        int ret;
 
-       if (rtd->num_cpus > 1) {
+       if (rtd->dai_link->num_cpus > 1) {
                dev_err(rtd->dev,
                        "%s doesn't support Multi CPU yet\n", __func__);
                return -EINVAL;
@@ -105,7 +105,7 @@ dmaengine_pcm_set_runtime_hwparams(struct snd_soc_component *component,
        struct snd_dmaengine_dai_dma_data *dma_data;
        struct snd_pcm_hardware hw;
 
-       if (rtd->num_cpus > 1) {
+       if (rtd->dai_link->num_cpus > 1) {
                dev_err(rtd->dev,
                        "%s doesn't support Multi CPU yet\n", __func__);
                return -EINVAL;
@@ -179,7 +179,7 @@ static struct dma_chan *dmaengine_pcm_compat_request_channel(
        struct dmaengine_pcm *pcm = soc_component_to_pcm(component);
        struct snd_dmaengine_dai_dma_data *dma_data;
 
-       if (rtd->num_cpus > 1) {
+       if (rtd->dai_link->num_cpus > 1) {
                dev_err(rtd->dev,
                        "%s doesn't support Multi CPU yet\n", __func__);
                return NULL;
index f8b6248..fb87d6d 100644 (file)
@@ -84,11 +84,11 @@ static inline void snd_soc_dpcm_stream_unlock_irq(struct snd_soc_pcm_runtime *rt
 
 static inline const char *soc_cpu_dai_name(struct snd_soc_pcm_runtime *rtd)
 {
-       return (rtd)->num_cpus == 1 ? asoc_rtd_to_cpu(rtd, 0)->name : "multicpu";
+       return (rtd)->dai_link->num_cpus == 1 ? asoc_rtd_to_cpu(rtd, 0)->name : "multicpu";
 }
 static inline const char *soc_codec_dai_name(struct snd_soc_pcm_runtime *rtd)
 {
-       return (rtd)->num_codecs == 1 ? asoc_rtd_to_codec(rtd, 0)->name : "multicodec";
+       return (rtd)->dai_link->num_codecs == 1 ? asoc_rtd_to_codec(rtd, 0)->name : "multicodec";
 }
 
 #ifdef CONFIG_DEBUG_FS
@@ -185,7 +185,7 @@ static ssize_t dpcm_state_read_file(struct file *file, char __user *user_buf,
        int stream;
        char *buf;
 
-       if (fe->num_cpus > 1) {
+       if (fe->dai_link->num_cpus > 1) {
                dev_err(fe->dev,
                        "%s doesn't support Multi CPU yet\n", __func__);
                return -EINVAL;
@@ -637,7 +637,7 @@ int snd_soc_runtime_calc_hw(struct snd_soc_pcm_runtime *rtd,
         * connected to CPU DAI(s), use CPU DAI's directly and let
         * channel allocation be fixed up later
         */
-       if (rtd->num_codecs > 1) {
+       if (rtd->dai_link->num_codecs > 1) {
                hw->channels_min = cpu_chan_min;
                hw->channels_max = cpu_chan_max;
        }
@@ -1379,7 +1379,7 @@ int dpcm_path_get(struct snd_soc_pcm_runtime *fe,
        struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(fe, 0);
        int paths;
 
-       if (fe->num_cpus > 1) {
+       if (fe->dai_link->num_cpus > 1) {
                dev_err(fe->dev,
                        "%s doesn't support Multi CPU yet\n", __func__);
                return -EINVAL;
@@ -1751,7 +1751,7 @@ static void dpcm_runtime_setup_be_chan(struct snd_pcm_substream *substream)
                 * chan min/max cannot be enforced if there are multiple CODEC
                 * DAIs connected to a single CPU DAI, use CPU DAI's directly
                 */
-               if (be->num_codecs == 1) {
+               if (be->dai_link->num_codecs == 1) {
                        struct snd_soc_pcm_stream *codec_stream = snd_soc_dai_get_pcm_stream(
                                asoc_rtd_to_codec(be, 0), stream);
 
@@ -2590,7 +2590,7 @@ static int soc_dpcm_fe_runtime_update(struct snd_soc_pcm_runtime *fe, int new)
        if (!fe->dai_link->dynamic)
                return 0;
 
-       if (fe->num_cpus > 1) {
+       if (fe->dai_link->num_cpus > 1) {
                dev_err(fe->dev,
                        "%s doesn't support Multi CPU yet\n", __func__);
                return -EINVAL;
@@ -2734,7 +2734,7 @@ static int soc_get_playback_capture(struct snd_soc_pcm_runtime *rtd,
        struct snd_soc_dai *cpu_dai;
        int i;
 
-       if (rtd->dai_link->dynamic && rtd->num_cpus > 1) {
+       if (rtd->dai_link->dynamic && rtd->dai_link->num_cpus > 1) {
                dev_err(rtd->dev,
                        "DPCM doesn't support Multi CPU for Front-Ends yet\n");
                return -EINVAL;
@@ -2786,9 +2786,9 @@ static int soc_get_playback_capture(struct snd_soc_pcm_runtime *rtd,
                        SNDRV_PCM_STREAM_CAPTURE : SNDRV_PCM_STREAM_PLAYBACK;
 
                for_each_rtd_codec_dais(rtd, i, codec_dai) {
-                       if (rtd->num_cpus == 1) {
+                       if (rtd->dai_link->num_cpus == 1) {
                                cpu_dai = asoc_rtd_to_cpu(rtd, 0);
-                       } else if (rtd->num_cpus == rtd->num_codecs) {
+                       } else if (rtd->dai_link->num_cpus == rtd->dai_link->num_codecs) {
                                cpu_dai = asoc_rtd_to_cpu(rtd, i);
                        } else {
                                dev_err(rtd->card->dev,
index 6087483..1982a3d 100644 (file)
@@ -1029,7 +1029,7 @@ static int sof_connect_dai_widget(struct snd_soc_component *scomp,
                                        break;
                                }
                        }
-                       if (i == rtd->num_cpus) {
+                       if (i == rtd->dai_link->num_cpus) {
                                dev_err(scomp->dev, "error: can't find BE for DAI %s\n",
                                        w->name);
 
@@ -1051,7 +1051,7 @@ static int sof_connect_dai_widget(struct snd_soc_component *scomp,
                                        break;
                                }
                        }
-                       if (i == rtd->num_cpus) {
+                       if (i == rtd->dai_link->num_cpus) {
                                dev_err(scomp->dev, "error: can't find BE for DAI %s\n",
                                        w->name);