ASoC: Intel: soc-acpi-intel-arl-match: set get_function_tplg_files ops
authorBard Liao <yung-chuan.liao@linux.intel.com>
Mon, 14 Apr 2025 06:32:35 +0000 (14:32 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 14 Apr 2025 10:22:22 +0000 (11:22 +0100)
The audio configs with multi-function SDCA codecs can use the
sof_sdw_get_tplg_files ops to get function topologies dynamically.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://patch.msgid.link/20250414063239.85200-8-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/common/soc-acpi-intel-arl-match.c

index 32147dc9d2d66664992df8ff8968d1092f2e35ab..73e581e937554ed4228e67becd8b654ae03b4bbf 100644 (file)
@@ -8,6 +8,7 @@
 #include <sound/soc-acpi.h>
 #include <sound/soc-acpi-intel-match.h>
 #include <sound/soc-acpi-intel-ssp-common.h>
+#include "sof-function-topology-lib.h"
 
 static const struct snd_soc_acpi_endpoint single_endpoint = {
        .num = 0,
@@ -436,42 +437,49 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_arl_sdw_machines[] = {
                .links = arl_cs42l43_l0_cs35l56_l23,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-arl-cs42l43-l0-cs35l56-l23.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = BIT(0) | BIT(2) | BIT(3),
                .links = arl_cs42l43_l0_cs35l56_2_l23,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-arl-cs42l43-l0-cs35l56-l23.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = BIT(0) | BIT(2) | BIT(3),
                .links = arl_cs42l43_l0_cs35l56_3_l23,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-arl-cs42l43-l0-cs35l56-l23.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = BIT(0) | BIT(2),
                .links = arl_cs42l43_l0_cs35l56_l2,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-arl-cs42l43-l0-cs35l56-l2.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = BIT(0),
                .links = arl_cs42l43_l0,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-arl-cs42l43-l0.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = BIT(2),
                .links = arl_cs42l43_l2,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-arl-cs42l43-l2.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = BIT(2) | BIT(3),
                .links = arl_cs42l43_l2_cs35l56_l3,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-arl-cs42l43-l2-cs35l56-l3.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {
                .link_mask = 0x1, /* link0 required */
@@ -490,6 +498,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_arl_sdw_machines[] = {
                .links = arl_rt722_l0_rt1320_l2,
                .drv_name = "sof_sdw",
                .sof_tplg_filename = "sof-arl-rt722-l0_rt1320-l2.tplg",
+               .get_function_tplg_files = sof_sdw_get_tplg_files,
        },
        {},
 };