@@ -120,29 +120,9 @@ static struct snd_soc_acpi_mach *byt_quirk(void *arg)
}
}
-static const struct snd_soc_acpi_codecs rt5640_comp_ids = {
- .num_codecs = 3,
- .codecs = { "10EC5640", "10EC5642", "INTCCFFD"},
-};
-
-static const struct snd_soc_acpi_codecs wm5102_comp_ids = {
- .num_codecs = 2,
- .codecs = { "WM510204", "WM510205"},
-};
-
-static const struct snd_soc_acpi_codecs da7213_comp_ids = {
- .num_codecs = 2,
- .codecs = { "DGLS7212", "DGLS7213"},
-};
-
-static const struct snd_soc_acpi_codecs rt5645_comp_ids = {
- .num_codecs = 2,
- .codecs = { "10EC5645", "10EC5648"},
-};
-
struct snd_soc_acpi_mach snd_soc_acpi_intel_baytrail_machines[] = {
{
- .comp_ids = &rt5640_comp_ids,
+ .id = "10EC5640",
.drv_name = "bytcr_rt5640",
.fw_filename = "intel/fw_sst_0f28.bin",
.board = "bytcr_rt5640",
@@ -150,6 +130,22 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_baytrail_machines[] = {
.sof_fw_filename = "sof-byt.ri",
.sof_tplg_filename = "sof-byt-rt5640.tplg",
},
+ {
+ .id = "10EC5642",
+ .drv_name = "bytcr_rt5640",
+ .fw_filename = "intel/fw_sst_0f28.bin",
+ .board = "bytcr_rt5640",
+ .sof_fw_filename = "sof-byt.ri",
+ .sof_tplg_filename = "sof-byt-rt5640.tplg",
+ },
+ {
+ .id = "INTCCFFD",
+ .drv_name = "bytcr_rt5640",
+ .fw_filename = "intel/fw_sst_0f28.bin",
+ .board = "bytcr_rt5640",
+ .sof_fw_filename = "sof-byt.ri",
+ .sof_tplg_filename = "sof-byt-rt5640.tplg",
+ },
{
.id = "10EC5651",
.drv_name = "bytcr_rt5651",
@@ -159,7 +155,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_baytrail_machines[] = {
.sof_tplg_filename = "sof-byt-rt5651.tplg",
},
{
- .comp_ids = &wm5102_comp_ids,
+ .id = "WM510204",
.drv_name = "bytcr_wm5102",
.fw_filename = "intel/fw_sst_0f28.bin",
.board = "bytcr_wm5102",
@@ -167,7 +163,23 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_baytrail_machines[] = {
.sof_tplg_filename = "sof-byt-wm5102.tplg",
},
{
- .comp_ids = &da7213_comp_ids,
+ .id = "WM510205",
+ .drv_name = "bytcr_wm5102",
+ .fw_filename = "intel/fw_sst_0f28.bin",
+ .board = "bytcr_wm5102",
+ .sof_fw_filename = "sof-byt.ri",
+ .sof_tplg_filename = "sof-byt-wm5102.tplg",
+ },
+ {
+ .id = "DLGS7212",
+ .drv_name = "bytcht_da7213",
+ .fw_filename = "intel/fw_sst_0f28.bin",
+ .board = "bytcht_da7213",
+ .sof_fw_filename = "sof-byt.ri",
+ .sof_tplg_filename = "sof-byt-da7213.tplg",
+ },
+ {
+ .id = "DLGS7213",
.drv_name = "bytcht_da7213",
.fw_filename = "intel/fw_sst_0f28.bin",
.board = "bytcht_da7213",
@@ -190,7 +202,15 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_baytrail_machines[] = {
},
/* some Baytrail platforms rely on RT5645, use CHT machine driver */
{
- .comp_ids = &rt5645_comp_ids,
+ .id = "10EC5645",
+ .drv_name = "cht-bsw-rt5645",
+ .fw_filename = "intel/fw_sst_0f28.bin",
+ .board = "cht-bsw",
+ .sof_fw_filename = "sof-byt.ri",
+ .sof_tplg_filename = "sof-byt-rt5645.tplg",
+ },
+ {
+ .id = "10EC5648",
.drv_name = "cht-bsw-rt5645",
.fw_filename = "intel/fw_sst_0f28.bin",
.board = "cht-bsw",
Commit dac7cbd55dca ("ASoC: Intel: soc-acpi-byt: shrink tables using compatible IDs") simplified the match tables in soc-acpi-intel-byt-match.c by merging identical entries using the new .comp_ids snd_soc_acpi_mach field to point a single entry to multiple ACPI HIDs and clearing the previously unique per entry .id field. But various machine drivers from sound/soc/intel/boards rely on mach->id in one or more ways. For example all of the following machine-drivers for entries combined during the shrinking: sound/soc/intel/boards/bytcr_rt5640.c sound/soc/intel/boards/bytcr_wm5102.c sound/soc/intel/boards/bytcht_da7213.c sound/soc/intel/boards/cht_bsw_rt5645.c Do: adev = acpi_dev_get_first_match_dev(mach->id, NULL, -1); Which now no longer works and some of them also do: pkg_found = snd_soc_acpi_find_package_from_hid(mach->id, ... Which now also no longer works. All these calls need to be fixed before we can shrink the tables, so revert this change for now. Fixes: dac7cbd55dca ("ASoC: Intel: soc-acpi-byt: shrink tables using compatible IDs") Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Cc: Brent Lu <brent.lu@intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- .../intel/common/soc-acpi-intel-byt-match.c | 68 ++++++++++++------- 1 file changed, 44 insertions(+), 24 deletions(-)