ASoC: soc-pcm: move snd_soc_dpcm_can_be_xxx() to top
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 26 Aug 2024 23:41:52 +0000 (23:41 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 28 Aug 2024 12:02:19 +0000 (13:02 +0100)
This patch moves snd_soc_dpcm_can_be_xxx() functions to top of soc-pcm.c
This is prepare for cleanup.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://patch.msgid.link/87ikvmdf7j.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-pcm.c

index c4834c741fa4ba444723fb71f96a4a54f1343996..f72a492f959ec993a6c8882c36890cbd5f80de43 100644 (file)
@@ -49,6 +49,108 @@ static inline int _soc_pcm_ret(struct snd_soc_pcm_runtime *rtd,
        return ret;
 }
 
+/* is the current PCM operation for this FE ? */
+int snd_soc_dpcm_fe_can_update(struct snd_soc_pcm_runtime *fe, int stream)
+{
+       if (fe->dpcm[stream].runtime_update == SND_SOC_DPCM_UPDATE_FE)
+               return 1;
+       return 0;
+}
+EXPORT_SYMBOL_GPL(snd_soc_dpcm_fe_can_update);
+
+/* is the current PCM operation for this BE ? */
+int snd_soc_dpcm_be_can_update(struct snd_soc_pcm_runtime *fe,
+                              struct snd_soc_pcm_runtime *be, int stream)
+{
+       if ((fe->dpcm[stream].runtime_update == SND_SOC_DPCM_UPDATE_FE) ||
+           ((fe->dpcm[stream].runtime_update == SND_SOC_DPCM_UPDATE_BE) &&
+            be->dpcm[stream].runtime_update))
+               return 1;
+       return 0;
+}
+EXPORT_SYMBOL_GPL(snd_soc_dpcm_be_can_update);
+
+static int snd_soc_dpcm_check_state(struct snd_soc_pcm_runtime *fe,
+                                   struct snd_soc_pcm_runtime *be,
+                                   int stream,
+                                   const enum snd_soc_dpcm_state *states,
+                                   int num_states)
+{
+       struct snd_soc_dpcm *dpcm;
+       int state;
+       int ret = 1;
+       int i;
+
+       for_each_dpcm_fe(be, stream, dpcm) {
+
+               if (dpcm->fe == fe)
+                       continue;
+
+               state = dpcm->fe->dpcm[stream].state;
+               for (i = 0; i < num_states; i++) {
+                       if (state == states[i]) {
+                               ret = 0;
+                               break;
+                       }
+               }
+       }
+
+       /* it's safe to do this BE DAI */
+       return ret;
+}
+
+/*
+ * We can only hw_free, stop, pause or suspend a BE DAI if any of it's FE
+ * are not running, paused or suspended for the specified stream direction.
+ */
+int snd_soc_dpcm_can_be_free_stop(struct snd_soc_pcm_runtime *fe,
+                                 struct snd_soc_pcm_runtime *be, int stream)
+{
+       const enum snd_soc_dpcm_state state[] = {
+               SND_SOC_DPCM_STATE_START,
+               SND_SOC_DPCM_STATE_PAUSED,
+               SND_SOC_DPCM_STATE_SUSPEND,
+       };
+
+       return snd_soc_dpcm_check_state(fe, be, stream, state, ARRAY_SIZE(state));
+}
+EXPORT_SYMBOL_GPL(snd_soc_dpcm_can_be_free_stop);
+
+/*
+ * We can only change hw params a BE DAI if any of it's FE are not prepared,
+ * running, paused or suspended for the specified stream direction.
+ */
+int snd_soc_dpcm_can_be_params(struct snd_soc_pcm_runtime *fe,
+                              struct snd_soc_pcm_runtime *be, int stream)
+{
+       const enum snd_soc_dpcm_state state[] = {
+               SND_SOC_DPCM_STATE_START,
+               SND_SOC_DPCM_STATE_PAUSED,
+               SND_SOC_DPCM_STATE_SUSPEND,
+               SND_SOC_DPCM_STATE_PREPARE,
+       };
+
+       return snd_soc_dpcm_check_state(fe, be, stream, state, ARRAY_SIZE(state));
+}
+EXPORT_SYMBOL_GPL(snd_soc_dpcm_can_be_params);
+
+/*
+ * We can only prepare a BE DAI if any of it's FE are not prepared,
+ * running or paused for the specified stream direction.
+ */
+int snd_soc_dpcm_can_be_prepared(struct snd_soc_pcm_runtime *fe,
+                                struct snd_soc_pcm_runtime *be, int stream)
+{
+       const enum snd_soc_dpcm_state state[] = {
+               SND_SOC_DPCM_STATE_START,
+               SND_SOC_DPCM_STATE_PAUSED,
+               SND_SOC_DPCM_STATE_PREPARE,
+       };
+
+       return snd_soc_dpcm_check_state(fe, be, stream, state, ARRAY_SIZE(state));
+}
+EXPORT_SYMBOL_GPL(snd_soc_dpcm_can_be_prepared);
+
 #define DPCM_MAX_BE_USERS      8
 
 static inline const char *soc_cpu_dai_name(struct snd_soc_pcm_runtime *rtd)
@@ -2969,27 +3071,6 @@ out:
        return ret;
 }
 
-/* is the current PCM operation for this FE ? */
-int snd_soc_dpcm_fe_can_update(struct snd_soc_pcm_runtime *fe, int stream)
-{
-       if (fe->dpcm[stream].runtime_update == SND_SOC_DPCM_UPDATE_FE)
-               return 1;
-       return 0;
-}
-EXPORT_SYMBOL_GPL(snd_soc_dpcm_fe_can_update);
-
-/* is the current PCM operation for this BE ? */
-int snd_soc_dpcm_be_can_update(struct snd_soc_pcm_runtime *fe,
-               struct snd_soc_pcm_runtime *be, int stream)
-{
-       if ((fe->dpcm[stream].runtime_update == SND_SOC_DPCM_UPDATE_FE) ||
-          ((fe->dpcm[stream].runtime_update == SND_SOC_DPCM_UPDATE_BE) &&
-                 be->dpcm[stream].runtime_update))
-               return 1;
-       return 0;
-}
-EXPORT_SYMBOL_GPL(snd_soc_dpcm_be_can_update);
-
 /* get the substream for this BE */
 struct snd_pcm_substream *
        snd_soc_dpcm_get_substream(struct snd_soc_pcm_runtime *be, int stream)
@@ -2997,84 +3078,3 @@ struct snd_pcm_substream *
        return be->pcm->streams[stream].substream;
 }
 EXPORT_SYMBOL_GPL(snd_soc_dpcm_get_substream);
-
-static int snd_soc_dpcm_check_state(struct snd_soc_pcm_runtime *fe,
-                                   struct snd_soc_pcm_runtime *be,
-                                   int stream,
-                                   const enum snd_soc_dpcm_state *states,
-                                   int num_states)
-{
-       struct snd_soc_dpcm *dpcm;
-       int state;
-       int ret = 1;
-       int i;
-
-       for_each_dpcm_fe(be, stream, dpcm) {
-
-               if (dpcm->fe == fe)
-                       continue;
-
-               state = dpcm->fe->dpcm[stream].state;
-               for (i = 0; i < num_states; i++) {
-                       if (state == states[i]) {
-                               ret = 0;
-                               break;
-                       }
-               }
-       }
-
-       /* it's safe to do this BE DAI */
-       return ret;
-}
-
-/*
- * We can only hw_free, stop, pause or suspend a BE DAI if any of it's FE
- * are not running, paused or suspended for the specified stream direction.
- */
-int snd_soc_dpcm_can_be_free_stop(struct snd_soc_pcm_runtime *fe,
-               struct snd_soc_pcm_runtime *be, int stream)
-{
-       const enum snd_soc_dpcm_state state[] = {
-               SND_SOC_DPCM_STATE_START,
-               SND_SOC_DPCM_STATE_PAUSED,
-               SND_SOC_DPCM_STATE_SUSPEND,
-       };
-
-       return snd_soc_dpcm_check_state(fe, be, stream, state, ARRAY_SIZE(state));
-}
-EXPORT_SYMBOL_GPL(snd_soc_dpcm_can_be_free_stop);
-
-/*
- * We can only change hw params a BE DAI if any of it's FE are not prepared,
- * running, paused or suspended for the specified stream direction.
- */
-int snd_soc_dpcm_can_be_params(struct snd_soc_pcm_runtime *fe,
-               struct snd_soc_pcm_runtime *be, int stream)
-{
-       const enum snd_soc_dpcm_state state[] = {
-               SND_SOC_DPCM_STATE_START,
-               SND_SOC_DPCM_STATE_PAUSED,
-               SND_SOC_DPCM_STATE_SUSPEND,
-               SND_SOC_DPCM_STATE_PREPARE,
-       };
-
-       return snd_soc_dpcm_check_state(fe, be, stream, state, ARRAY_SIZE(state));
-}
-EXPORT_SYMBOL_GPL(snd_soc_dpcm_can_be_params);
-
-/*
- * We can only prepare a BE DAI if any of it's FE are not prepared,
- * running or paused for the specified stream direction.
- */
-int snd_soc_dpcm_can_be_prepared(struct snd_soc_pcm_runtime *fe,
-                                struct snd_soc_pcm_runtime *be, int stream)
-{
-       const enum snd_soc_dpcm_state state[] = {
-               SND_SOC_DPCM_STATE_START,
-               SND_SOC_DPCM_STATE_PAUSED,
-               SND_SOC_DPCM_STATE_PREPARE,
-       };
-
-       return snd_soc_dpcm_check_state(fe, be, stream, state, ARRAY_SIZE(state));
-}
-EXPORT_SYMBOL_GPL(snd_soc_dpcm_can_be_prepared);