OSDN Git Service

ASoC: uniphier: merge DAI call back functions into ops
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 8 Aug 2023 22:58:13 +0000 (22:58 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 14 Aug 2023 12:09:41 +0000 (13:09 +0100)
ALSA SoC merges DAI call backs into .ops.
This patch merge these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87pm3x9m62.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/uniphier/aio-cpu.c
sound/soc/uniphier/aio-ld11.c
sound/soc/uniphier/aio-pxs2.c
sound/soc/uniphier/aio.h

index 4e8d5f7..7c51884 100644 (file)
@@ -355,30 +355,7 @@ static int uniphier_aio_prepare(struct snd_pcm_substream *substream,
        return 0;
 }
 
-const struct snd_soc_dai_ops uniphier_aio_i2s_ops = {
-       .set_sysclk  = uniphier_aio_set_sysclk,
-       .set_pll     = uniphier_aio_set_pll,
-       .set_fmt     = uniphier_aio_set_fmt,
-       .startup     = uniphier_aio_startup,
-       .shutdown    = uniphier_aio_shutdown,
-       .hw_params   = uniphier_aio_hw_params,
-       .hw_free     = uniphier_aio_hw_free,
-       .prepare     = uniphier_aio_prepare,
-};
-EXPORT_SYMBOL_GPL(uniphier_aio_i2s_ops);
-
-const struct snd_soc_dai_ops uniphier_aio_spdif_ops = {
-       .set_sysclk  = uniphier_aio_set_sysclk,
-       .set_pll     = uniphier_aio_set_pll,
-       .startup     = uniphier_aio_startup,
-       .shutdown    = uniphier_aio_shutdown,
-       .hw_params   = uniphier_aio_hw_params,
-       .hw_free     = uniphier_aio_hw_free,
-       .prepare     = uniphier_aio_prepare,
-};
-EXPORT_SYMBOL_GPL(uniphier_aio_spdif_ops);
-
-int uniphier_aio_dai_probe(struct snd_soc_dai *dai)
+static int uniphier_aio_dai_probe(struct snd_soc_dai *dai)
 {
        struct uniphier_aio *aio = uniphier_priv(dai);
        int i;
@@ -403,9 +380,8 @@ int uniphier_aio_dai_probe(struct snd_soc_dai *dai)
 
        return 0;
 }
-EXPORT_SYMBOL_GPL(uniphier_aio_dai_probe);
 
-int uniphier_aio_dai_remove(struct snd_soc_dai *dai)
+static int uniphier_aio_dai_remove(struct snd_soc_dai *dai)
 {
        struct uniphier_aio *aio = uniphier_priv(dai);
 
@@ -413,7 +389,138 @@ int uniphier_aio_dai_remove(struct snd_soc_dai *dai)
 
        return 0;
 }
-EXPORT_SYMBOL_GPL(uniphier_aio_dai_remove);
+
+static int uniphier_aio_ld11_probe(struct snd_soc_dai *dai)
+{
+       int ret;
+
+       ret = uniphier_aio_dai_probe(dai);
+       if (ret < 0)
+               return ret;
+
+       ret = snd_soc_dai_set_pll(dai, AUD_PLL_A1, 0, 0, 36864000);
+       if (ret < 0)
+               return ret;
+       ret = snd_soc_dai_set_pll(dai, AUD_PLL_F1, 0, 0, 36864000);
+       if (ret < 0)
+               return ret;
+
+       ret = snd_soc_dai_set_pll(dai, AUD_PLL_A2, 0, 0, 33868800);
+       if (ret < 0)
+               return ret;
+       ret = snd_soc_dai_set_pll(dai, AUD_PLL_F2, 0, 0, 33868800);
+       if (ret < 0)
+               return ret;
+
+       return 0;
+}
+
+static int uniphier_aio_pxs2_probe(struct snd_soc_dai *dai)
+{
+       int ret;
+
+       ret = uniphier_aio_dai_probe(dai);
+       if (ret < 0)
+               return ret;
+
+       ret = snd_soc_dai_set_pll(dai, AUD_PLL_A1, 0, 0, 36864000);
+       if (ret < 0)
+               return ret;
+       ret = snd_soc_dai_set_pll(dai, AUD_PLL_F1, 0, 0, 36864000);
+       if (ret < 0)
+               return ret;
+
+       ret = snd_soc_dai_set_pll(dai, AUD_PLL_A2, 0, 0, 33868800);
+       if (ret < 0)
+               return ret;
+       ret = snd_soc_dai_set_pll(dai, AUD_PLL_F2, 0, 0, 33868800);
+       if (ret < 0)
+               return ret;
+
+       return 0;
+}
+
+const struct snd_soc_dai_ops uniphier_aio_i2s_ld11_ops = {
+       .probe          = uniphier_aio_ld11_probe,
+       .remove         = uniphier_aio_dai_remove,
+       .set_sysclk     = uniphier_aio_set_sysclk,
+       .set_pll        = uniphier_aio_set_pll,
+       .set_fmt        = uniphier_aio_set_fmt,
+       .startup        = uniphier_aio_startup,
+       .shutdown       = uniphier_aio_shutdown,
+       .hw_params      = uniphier_aio_hw_params,
+       .hw_free        = uniphier_aio_hw_free,
+       .prepare        = uniphier_aio_prepare,
+};
+EXPORT_SYMBOL_GPL(uniphier_aio_i2s_ld11_ops);
+
+const struct snd_soc_dai_ops uniphier_aio_spdif_ld11_ops = {
+       .probe          = uniphier_aio_ld11_probe,
+       .remove         = uniphier_aio_dai_remove,
+       .set_sysclk     = uniphier_aio_set_sysclk,
+       .set_pll        = uniphier_aio_set_pll,
+       .startup        = uniphier_aio_startup,
+       .shutdown       = uniphier_aio_shutdown,
+       .hw_params      = uniphier_aio_hw_params,
+       .hw_free        = uniphier_aio_hw_free,
+       .prepare        = uniphier_aio_prepare,
+};
+EXPORT_SYMBOL_GPL(uniphier_aio_spdif_ld11_ops);
+
+const struct snd_soc_dai_ops uniphier_aio_spdif_ld11_ops2 = {
+       .probe          = uniphier_aio_ld11_probe,
+       .remove         = uniphier_aio_dai_remove,
+       .set_sysclk     = uniphier_aio_set_sysclk,
+       .set_pll        = uniphier_aio_set_pll,
+       .startup        = uniphier_aio_startup,
+       .shutdown       = uniphier_aio_shutdown,
+       .hw_params      = uniphier_aio_hw_params,
+       .hw_free        = uniphier_aio_hw_free,
+       .prepare        = uniphier_aio_prepare,
+       .compress_new   = snd_soc_new_compress,
+};
+EXPORT_SYMBOL_GPL(uniphier_aio_spdif_ld11_ops2);
+
+const struct snd_soc_dai_ops uniphier_aio_i2s_pxs2_ops = {
+       .probe          = uniphier_aio_pxs2_probe,
+       .remove         = uniphier_aio_dai_remove,
+       .set_sysclk     = uniphier_aio_set_sysclk,
+       .set_pll        = uniphier_aio_set_pll,
+       .set_fmt        = uniphier_aio_set_fmt,
+       .startup        = uniphier_aio_startup,
+       .shutdown       = uniphier_aio_shutdown,
+       .hw_params      = uniphier_aio_hw_params,
+       .hw_free        = uniphier_aio_hw_free,
+       .prepare        = uniphier_aio_prepare,
+};
+EXPORT_SYMBOL_GPL(uniphier_aio_i2s_pxs2_ops);
+
+const struct snd_soc_dai_ops uniphier_aio_spdif_pxs2_ops = {
+       .probe          = uniphier_aio_pxs2_probe,
+       .remove         = uniphier_aio_dai_remove,
+       .set_sysclk     = uniphier_aio_set_sysclk,
+       .set_pll        = uniphier_aio_set_pll,
+       .startup        = uniphier_aio_startup,
+       .shutdown       = uniphier_aio_shutdown,
+       .hw_params      = uniphier_aio_hw_params,
+       .hw_free        = uniphier_aio_hw_free,
+       .prepare        = uniphier_aio_prepare,
+};
+EXPORT_SYMBOL_GPL(uniphier_aio_spdif_pxs2_ops);
+
+const struct snd_soc_dai_ops uniphier_aio_spdif_pxs2_ops2 = {
+       .probe          = uniphier_aio_pxs2_probe,
+       .remove         = uniphier_aio_dai_remove,
+       .set_sysclk     = uniphier_aio_set_sysclk,
+       .set_pll        = uniphier_aio_set_pll,
+       .startup        = uniphier_aio_startup,
+       .shutdown       = uniphier_aio_shutdown,
+       .hw_params      = uniphier_aio_hw_params,
+       .hw_free        = uniphier_aio_hw_free,
+       .prepare        = uniphier_aio_prepare,
+       .compress_new   = snd_soc_new_compress,
+};
+EXPORT_SYMBOL_GPL(uniphier_aio_spdif_pxs2_ops2);
 
 static void uniphier_aio_dai_suspend(struct snd_soc_dai *dai)
 {
index 7b3cf5d..15dbded 100644 (file)
@@ -188,36 +188,9 @@ static const struct uniphier_aio_pll uniphier_aio_pll_ld11[] = {
        [AUD_PLL_HSC0] = { .enable = true, },
 };
 
-static int uniphier_aio_ld11_probe(struct snd_soc_dai *dai)
-{
-       int ret;
-
-       ret = uniphier_aio_dai_probe(dai);
-       if (ret < 0)
-               return ret;
-
-       ret = snd_soc_dai_set_pll(dai, AUD_PLL_A1, 0, 0, 36864000);
-       if (ret < 0)
-               return ret;
-       ret = snd_soc_dai_set_pll(dai, AUD_PLL_F1, 0, 0, 36864000);
-       if (ret < 0)
-               return ret;
-
-       ret = snd_soc_dai_set_pll(dai, AUD_PLL_A2, 0, 0, 33868800);
-       if (ret < 0)
-               return ret;
-       ret = snd_soc_dai_set_pll(dai, AUD_PLL_F2, 0, 0, 33868800);
-       if (ret < 0)
-               return ret;
-
-       return 0;
-}
-
 static struct snd_soc_dai_driver uniphier_aio_dai_ld11[] = {
        {
                .name    = AUD_GNAME_HDMI,
-               .probe   = uniphier_aio_ld11_probe,
-               .remove  = uniphier_aio_dai_remove,
                .playback = {
                        .stream_name = AUD_NAME_PCMOUT1,
                        .formats     = SNDRV_PCM_FMTBIT_S32_LE,
@@ -234,12 +207,10 @@ static struct snd_soc_dai_driver uniphier_aio_dai_ld11[] = {
                        .channels_min = 2,
                        .channels_max = 2,
                },
-               .ops = &uniphier_aio_i2s_ops,
+               .ops = &uniphier_aio_i2s_ld11_ops,
        },
        {
                .name    = AUD_NAME_PCMIN2,
-               .probe   = uniphier_aio_ld11_probe,
-               .remove  = uniphier_aio_dai_remove,
                .capture = {
                        .stream_name = AUD_NAME_PCMIN2,
                        .formats     = SNDRV_PCM_FMTBIT_S32_LE,
@@ -247,12 +218,10 @@ static struct snd_soc_dai_driver uniphier_aio_dai_ld11[] = {
                        .channels_min = 2,
                        .channels_max = 2,
                },
-               .ops = &uniphier_aio_i2s_ops,
+               .ops = &uniphier_aio_i2s_ld11_ops,
        },
        {
                .name    = AUD_GNAME_LINE,
-               .probe   = uniphier_aio_ld11_probe,
-               .remove  = uniphier_aio_dai_remove,
                .playback = {
                        .stream_name = AUD_NAME_PCMOUT2,
                        .formats     = SNDRV_PCM_FMTBIT_S32_LE,
@@ -267,12 +236,10 @@ static struct snd_soc_dai_driver uniphier_aio_dai_ld11[] = {
                        .channels_min = 2,
                        .channels_max = 2,
                },
-               .ops = &uniphier_aio_i2s_ops,
+               .ops = &uniphier_aio_i2s_ld11_ops,
        },
        {
                .name    = AUD_NAME_HPCMOUT1,
-               .probe   = uniphier_aio_ld11_probe,
-               .remove  = uniphier_aio_dai_remove,
                .playback = {
                        .stream_name = AUD_NAME_HPCMOUT1,
                        .formats     = SNDRV_PCM_FMTBIT_S32_LE,
@@ -280,12 +247,10 @@ static struct snd_soc_dai_driver uniphier_aio_dai_ld11[] = {
                        .channels_min = 2,
                        .channels_max = 8,
                },
-               .ops = &uniphier_aio_i2s_ops,
+               .ops = &uniphier_aio_i2s_ld11_ops,
        },
        {
                .name    = AUD_NAME_PCMOUT3,
-               .probe   = uniphier_aio_ld11_probe,
-               .remove  = uniphier_aio_dai_remove,
                .playback = {
                        .stream_name = AUD_NAME_PCMOUT3,
                        .formats     = SNDRV_PCM_FMTBIT_S32_LE,
@@ -293,12 +258,10 @@ static struct snd_soc_dai_driver uniphier_aio_dai_ld11[] = {
                        .channels_min = 2,
                        .channels_max = 2,
                },
-               .ops = &uniphier_aio_i2s_ops,
+               .ops = &uniphier_aio_i2s_ld11_ops,
        },
        {
                .name    = AUD_NAME_HIECOUT1,
-               .probe   = uniphier_aio_ld11_probe,
-               .remove  = uniphier_aio_dai_remove,
                .playback = {
                        .stream_name = AUD_NAME_HIECOUT1,
                        .formats     = SNDRV_PCM_FMTBIT_S32_LE,
@@ -306,12 +269,10 @@ static struct snd_soc_dai_driver uniphier_aio_dai_ld11[] = {
                        .channels_min = 2,
                        .channels_max = 2,
                },
-               .ops = &uniphier_aio_spdif_ops,
+               .ops = &uniphier_aio_spdif_ld11_ops,
        },
        {
                .name    = AUD_NAME_EPCMOUT2,
-               .probe   = uniphier_aio_ld11_probe,
-               .remove  = uniphier_aio_dai_remove,
                .playback = {
                        .stream_name = AUD_NAME_EPCMOUT2,
                        .formats     = SNDRV_PCM_FMTBIT_S32_LE,
@@ -321,12 +282,10 @@ static struct snd_soc_dai_driver uniphier_aio_dai_ld11[] = {
                        .channels_min = 2,
                        .channels_max = 2,
                },
-               .ops = &uniphier_aio_i2s_ops,
+               .ops = &uniphier_aio_i2s_ld11_ops,
        },
        {
                .name    = AUD_NAME_EPCMOUT3,
-               .probe   = uniphier_aio_ld11_probe,
-               .remove  = uniphier_aio_dai_remove,
                .playback = {
                        .stream_name = AUD_NAME_EPCMOUT3,
                        .formats     = SNDRV_PCM_FMTBIT_S32_LE,
@@ -336,19 +295,16 @@ static struct snd_soc_dai_driver uniphier_aio_dai_ld11[] = {
                        .channels_min = 2,
                        .channels_max = 2,
                },
-               .ops = &uniphier_aio_i2s_ops,
+               .ops = &uniphier_aio_i2s_ld11_ops,
        },
        {
                .name    = AUD_NAME_HIECCOMPOUT1,
-               .probe   = uniphier_aio_ld11_probe,
-               .remove  = uniphier_aio_dai_remove,
-               .compress_new = snd_soc_new_compress,
                .playback = {
                        .stream_name = AUD_NAME_HIECCOMPOUT1,
                        .channels_min = 1,
                        .channels_max = 1,
                },
-               .ops = &uniphier_aio_spdif_ops,
+               .ops = &uniphier_aio_spdif_ld11_ops2,
        },
 };
 
index 899904f..305cb2a 100644 (file)
@@ -141,36 +141,9 @@ static const struct uniphier_aio_pll uniphier_aio_pll_pxs2[] = {
        [AUD_PLL_HSC0] = { .enable = true, },
 };
 
-static int uniphier_aio_pxs2_probe(struct snd_soc_dai *dai)
-{
-       int ret;
-
-       ret = uniphier_aio_dai_probe(dai);
-       if (ret < 0)
-               return ret;
-
-       ret = snd_soc_dai_set_pll(dai, AUD_PLL_A1, 0, 0, 36864000);
-       if (ret < 0)
-               return ret;
-       ret = snd_soc_dai_set_pll(dai, AUD_PLL_F1, 0, 0, 36864000);
-       if (ret < 0)
-               return ret;
-
-       ret = snd_soc_dai_set_pll(dai, AUD_PLL_A2, 0, 0, 33868800);
-       if (ret < 0)
-               return ret;
-       ret = snd_soc_dai_set_pll(dai, AUD_PLL_F2, 0, 0, 33868800);
-       if (ret < 0)
-               return ret;
-
-       return 0;
-}
-
 static struct snd_soc_dai_driver uniphier_aio_dai_pxs2[] = {
        {
                .name    = AUD_GNAME_HDMI,
-               .probe   = uniphier_aio_pxs2_probe,
-               .remove  = uniphier_aio_dai_remove,
                .playback = {
                        .stream_name = AUD_NAME_HPCMOUT1,
                        .formats     = SNDRV_PCM_FMTBIT_S32_LE,
@@ -178,12 +151,10 @@ static struct snd_soc_dai_driver uniphier_aio_dai_pxs2[] = {
                        .channels_min = 2,
                        .channels_max = 2,
                },
-               .ops = &uniphier_aio_i2s_ops,
+               .ops = &uniphier_aio_i2s_pxs2_ops,
        },
        {
                .name    = AUD_GNAME_LINE,
-               .probe   = uniphier_aio_pxs2_probe,
-               .remove  = uniphier_aio_dai_remove,
                .playback = {
                        .stream_name = AUD_NAME_PCMOUT1,
                        .formats     = SNDRV_PCM_FMTBIT_S32_LE,
@@ -198,12 +169,10 @@ static struct snd_soc_dai_driver uniphier_aio_dai_pxs2[] = {
                        .channels_min = 2,
                        .channels_max = 2,
                },
-               .ops = &uniphier_aio_i2s_ops,
+               .ops = &uniphier_aio_i2s_pxs2_ops,
        },
        {
                .name    = AUD_GNAME_AUX,
-               .probe   = uniphier_aio_pxs2_probe,
-               .remove  = uniphier_aio_dai_remove,
                .playback = {
                        .stream_name = AUD_NAME_PCMOUT2,
                        .formats     = SNDRV_PCM_FMTBIT_S32_LE,
@@ -218,12 +187,10 @@ static struct snd_soc_dai_driver uniphier_aio_dai_pxs2[] = {
                        .channels_min = 2,
                        .channels_max = 2,
                },
-               .ops = &uniphier_aio_i2s_ops,
+               .ops = &uniphier_aio_i2s_pxs2_ops,
        },
        {
                .name    = AUD_NAME_HIECOUT1,
-               .probe   = uniphier_aio_pxs2_probe,
-               .remove  = uniphier_aio_dai_remove,
                .playback = {
                        .stream_name = AUD_NAME_HIECOUT1,
                        .formats     = SNDRV_PCM_FMTBIT_S32_LE,
@@ -231,12 +198,10 @@ static struct snd_soc_dai_driver uniphier_aio_dai_pxs2[] = {
                        .channels_min = 2,
                        .channels_max = 2,
                },
-               .ops = &uniphier_aio_spdif_ops,
+               .ops = &uniphier_aio_spdif_pxs2_ops,
        },
        {
                .name    = AUD_NAME_IECOUT1,
-               .probe   = uniphier_aio_pxs2_probe,
-               .remove  = uniphier_aio_dai_remove,
                .playback = {
                        .stream_name = AUD_NAME_IECOUT1,
                        .formats     = SNDRV_PCM_FMTBIT_S32_LE,
@@ -244,31 +209,25 @@ static struct snd_soc_dai_driver uniphier_aio_dai_pxs2[] = {
                        .channels_min = 2,
                        .channels_max = 2,
                },
-               .ops = &uniphier_aio_spdif_ops,
+               .ops = &uniphier_aio_spdif_pxs2_ops,
        },
        {
                .name    = AUD_NAME_HIECCOMPOUT1,
-               .probe   = uniphier_aio_pxs2_probe,
-               .remove  = uniphier_aio_dai_remove,
-               .compress_new = snd_soc_new_compress,
                .playback = {
                        .stream_name = AUD_NAME_HIECCOMPOUT1,
                        .channels_min = 1,
                        .channels_max = 1,
                },
-               .ops = &uniphier_aio_spdif_ops,
+               .ops = &uniphier_aio_spdif_pxs2_ops2,
        },
        {
                .name    = AUD_NAME_IECCOMPOUT1,
-               .probe   = uniphier_aio_pxs2_probe,
-               .remove  = uniphier_aio_dai_remove,
-               .compress_new = snd_soc_new_compress,
                .playback = {
                        .stream_name = AUD_NAME_IECCOMPOUT1,
                        .channels_min = 1,
                        .channels_max = 1,
                },
-               .ops = &uniphier_aio_spdif_ops,
+               .ops = &uniphier_aio_spdif_pxs2_ops2,
        },
 };
 
index 0b03571..09ccb47 100644 (file)
@@ -306,12 +306,14 @@ static inline struct uniphier_aio *uniphier_priv(struct snd_soc_dai *dai)
 int uniphier_aiodma_soc_register_platform(struct platform_device *pdev);
 extern const struct snd_compress_ops uniphier_aio_compress_ops;
 
-int uniphier_aio_dai_probe(struct snd_soc_dai *dai);
-int uniphier_aio_dai_remove(struct snd_soc_dai *dai);
 int uniphier_aio_probe(struct platform_device *pdev);
 int uniphier_aio_remove(struct platform_device *pdev);
-extern const struct snd_soc_dai_ops uniphier_aio_i2s_ops;
-extern const struct snd_soc_dai_ops uniphier_aio_spdif_ops;
+extern const struct snd_soc_dai_ops uniphier_aio_i2s_ld11_ops;
+extern const struct snd_soc_dai_ops uniphier_aio_i2s_pxs2_ops;
+extern const struct snd_soc_dai_ops uniphier_aio_spdif_ld11_ops;
+extern const struct snd_soc_dai_ops uniphier_aio_spdif_ld11_ops2;
+extern const struct snd_soc_dai_ops uniphier_aio_spdif_pxs2_ops;
+extern const struct snd_soc_dai_ops uniphier_aio_spdif_pxs2_ops2;
 
 u64 aio_rb_cnt(struct uniphier_aio_sub *sub);
 u64 aio_rbt_cnt_to_end(struct uniphier_aio_sub *sub);