ASoC: mediatek: Use common mtk_afe_pcm_platform with common probe cb
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Tue, 16 Apr 2024 07:14:04 +0000 (09:14 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 16 Apr 2024 11:00:03 +0000 (20:00 +0900)
Since the mtk-afe-platform-driver generic mtk_afe_pcm_platform now has
a common .probe() callback, there is no reason to keep duplicating this
function over and over in the SoC specific AFE-PCM drivers: switch over
to register with the common bits instead.

Note that MT8186 was left out of this because it is registering some
extra sinegen controls in the AFE-PCM probe callback and needs extra
cleanups to be able to use the common bits.

Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240416071410.75620-13-angelogioacchino.delregno@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/mediatek/mt6797/mt6797-afe-pcm.c
sound/soc/mediatek/mt7986/mt7986-afe-pcm.c
sound/soc/mediatek/mt8183/mt8183-afe-pcm.c
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
sound/soc/mediatek/mt8192/mt8192-afe-pcm.c
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c

index da7267c684b1730e07de90bde04483d2ee829c5c..c1dee119e93a775aa4fbec4434fbd2c774c27c69 100644 (file)
@@ -704,18 +704,6 @@ static int mt6797_afe_runtime_resume(struct device *dev)
        return 0;
 }
 
-static int mt6797_afe_component_probe(struct snd_soc_component *component)
-{
-       return mtk_afe_add_sub_dai_control(component);
-}
-
-static const struct snd_soc_component_driver mt6797_afe_component = {
-       .name           = AFE_PCM_NAME,
-       .probe          = mt6797_afe_component_probe,
-       .pointer        = mtk_afe_pcm_pointer,
-       .pcm_construct  = mtk_afe_pcm_new,
-};
-
 static int mt6797_dai_memif_register(struct mtk_base_afe *afe)
 {
        struct mtk_base_afe_dai *dai;
@@ -852,7 +840,7 @@ static int mt6797_afe_pcm_dev_probe(struct platform_device *pdev)
        pm_runtime_get_sync(&pdev->dev);
 
        /* register component */
-       ret = devm_snd_soc_register_component(dev, &mt6797_afe_component,
+       ret = devm_snd_soc_register_component(dev, &mtk_afe_pcm_platform,
                                              NULL, 0);
        if (ret) {
                dev_warn(dev, "err_platform\n");
index d497e112988993f36e5cdaf659f48c62f059ba0b..c1c486e275b9d395b2b65a320d26848ac18117ad 100644 (file)
@@ -429,18 +429,6 @@ static int mt7986_afe_runtime_resume(struct device *dev)
        return 0;
 }
 
-static int mt7986_afe_component_probe(struct snd_soc_component *component)
-{
-       return mtk_afe_add_sub_dai_control(component);
-}
-
-static const struct snd_soc_component_driver mt7986_afe_component = {
-       .name = AFE_PCM_NAME,
-       .probe = mt7986_afe_component_probe,
-       .pointer        = mtk_afe_pcm_pointer,
-       .pcm_construct  = mtk_afe_pcm_new,
-};
-
 static int mt7986_dai_memif_register(struct mtk_base_afe *afe)
 {
        struct mtk_base_afe_dai *dai;
@@ -573,7 +561,7 @@ static int mt7986_afe_pcm_dev_probe(struct platform_device *pdev)
 
        /* register component */
        ret = devm_snd_soc_register_component(&pdev->dev,
-                                             &mt7986_afe_component,
+                                             &mtk_afe_pcm_platform,
                                              NULL, 0);
        if (ret)
                return dev_err_probe(dev, ret, "Cannot register AFE component\n");
index 9e432ed9124b94c33f0080bc41e5d6186ba3d41f..25348fdf75fa13f8cc5cf312c1618d14792026ef 100644 (file)
@@ -1042,18 +1042,6 @@ skip_regmap:
        return 0;
 }
 
-static int mt8183_afe_component_probe(struct snd_soc_component *component)
-{
-       return mtk_afe_add_sub_dai_control(component);
-}
-
-static const struct snd_soc_component_driver mt8183_afe_component = {
-       .name           = AFE_PCM_NAME,
-       .probe          = mt8183_afe_component_probe,
-       .pointer        = mtk_afe_pcm_pointer,
-       .pcm_construct  = mtk_afe_pcm_new,
-};
-
 static int mt8183_dai_memif_register(struct mtk_base_afe *afe)
 {
        struct mtk_base_afe_dai *dai;
@@ -1232,7 +1220,7 @@ static int mt8183_afe_pcm_dev_probe(struct platform_device *pdev)
 
        /* register component */
        ret = devm_snd_soc_register_component(&pdev->dev,
-                                             &mt8183_afe_component,
+                                             &mtk_afe_pcm_platform,
                                              NULL, 0);
        if (ret) {
                dev_warn(dev, "err_platform\n");
index 46d6a55404037b28c26d2d704fe9286defc43fd3..9647fe133dc82a8980432e2a60f4346a6cb09947 100644 (file)
@@ -3030,25 +3030,6 @@ skip_regmap:
        return 0;
 }
 
-static int mt8188_afe_component_probe(struct snd_soc_component *component)
-{
-       struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component);
-       int ret;
-
-       snd_soc_component_init_regmap(component, afe->regmap);
-
-       ret = mtk_afe_add_sub_dai_control(component);
-
-       return ret;
-}
-
-static const struct snd_soc_component_driver mt8188_afe_component = {
-       .name = AFE_PCM_NAME,
-       .pointer       = mtk_afe_pcm_pointer,
-       .pcm_construct = mtk_afe_pcm_new,
-       .probe         = mt8188_afe_component_probe,
-};
-
 static int init_memif_priv_data(struct mtk_base_afe *afe)
 {
        struct mt8188_afe_private *afe_priv = afe->platform_priv;
@@ -3350,7 +3331,7 @@ static int mt8188_afe_pcm_dev_probe(struct platform_device *pdev)
        }
 
        /* register component */
-       ret = devm_snd_soc_register_component(dev, &mt8188_afe_component,
+       ret = devm_snd_soc_register_component(dev, &mtk_afe_pcm_platform,
                                              afe->dai_drivers, afe->num_dai_drivers);
        if (ret) {
                dev_warn(dev, "err_platform\n");
index aed22baef9fb392c6c9d5e7c49541304fc8006c1..424c5c68f78af0e3dad143c25c19c1d5e3c845a4 100644 (file)
@@ -2125,22 +2125,6 @@ skip_regmap:
        return 0;
 }
 
-static int mt8192_afe_component_probe(struct snd_soc_component *component)
-{
-       return mtk_afe_add_sub_dai_control(component);
-}
-
-static const struct snd_soc_component_driver mt8192_afe_component = {
-       .name = AFE_PCM_NAME,
-       .probe = mt8192_afe_component_probe,
-       .pointer = mtk_afe_pcm_pointer,
-       .pcm_construct = mtk_afe_pcm_new,
-};
-
-static const struct snd_soc_component_driver mt8192_afe_pcm_component = {
-       .name = "mt8192-afe-pcm-dai",
-};
-
 static int mt8192_dai_memif_register(struct mtk_base_afe *afe)
 {
        struct mtk_base_afe_dai *dai;
@@ -2302,16 +2286,11 @@ static int mt8192_afe_pcm_dev_probe(struct platform_device *pdev)
 
        /* register platform */
        ret = devm_snd_soc_register_component(&pdev->dev,
-                                             &mt8192_afe_component, NULL, 0);
-       if (ret)
-               return dev_err_probe(dev, ret, "Couldn't register AFE component\n");
-
-       ret = devm_snd_soc_register_component(&pdev->dev,
-                                             &mt8192_afe_pcm_component,
+                                             &mtk_afe_pcm_platform,
                                              afe->dai_drivers,
                                              afe->num_dai_drivers);
        if (ret)
-               return dev_err_probe(dev, ret, "Couldn't register AFE-PCM component\n");
+               return dev_err_probe(dev, ret, "Couldn't register AFE component\n");
 
        return 0;
 }
index 620d7ade1992e371aef1ba87e87ee9b5aeea7d24..64af9bf363fda077d6e2a8b4f87943c849851e89 100644 (file)
@@ -2944,25 +2944,6 @@ skip_regmap:
        return 0;
 }
 
-static int mt8195_afe_component_probe(struct snd_soc_component *component)
-{
-       struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component);
-       int ret = 0;
-
-       snd_soc_component_init_regmap(component, afe->regmap);
-
-       ret = mtk_afe_add_sub_dai_control(component);
-
-       return ret;
-}
-
-static const struct snd_soc_component_driver mt8195_afe_component = {
-       .name = AFE_PCM_NAME,
-       .pointer = mtk_afe_pcm_pointer,
-       .pcm_construct = mtk_afe_pcm_new,
-       .probe = mt8195_afe_component_probe,
-};
-
 static int init_memif_priv_data(struct mtk_base_afe *afe)
 {
        struct mt8195_afe_private *afe_priv = afe->platform_priv;
@@ -3164,7 +3145,7 @@ static int mt8195_afe_pcm_dev_probe(struct platform_device *pdev)
        }
 
        /* register component */
-       ret = devm_snd_soc_register_component(dev, &mt8195_afe_component,
+       ret = devm_snd_soc_register_component(dev, &mtk_afe_pcm_platform,
                                              afe->dai_drivers, afe->num_dai_drivers);
        if (ret) {
                dev_warn(dev, "err_platform\n");