]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: soc-acpi: make some variables of acpi adr and link adr non-const
authorBard Liao <yung-chuan.liao@linux.intel.com>
Tue, 14 Oct 2025 07:13:28 +0000 (15:13 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 14 Oct 2025 11:32:29 +0000 (12:32 +0100)
Currently, we use predefined snd_soc_acpi_link_adr tables to match the
link adr from ACPI table to select the machine driver and the topology.
However, with the mechanism, we need to create the snd_soc_acpi_link_adr
table for each audio config. The sof_sdw machine driver is used by
almost all Intel platforms with SOF and we can load required topology
file dynamically today. In other words, we can use sof_sdw machine
driver as the default machine driver for Intel SOF SoundWire codecs and
no need to create snd_soc_acpi_link_adr table for every new audio
configs.
To achieve it, we need to drop the const for some members and edit the
link adr and acpi adr data to match the data from the ACPI table.

Suggested-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Simon Trimmer <simont@opensource.cirrus.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://patch.msgid.link/20251014071335.3844631-3-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc-acpi.h

index b8af309c2683f99bdbdb6dc463336fa1c8e4d05d..90d73b9bddabeef5f179c8f5794f272df28f6d4b 100644 (file)
@@ -114,8 +114,8 @@ struct snd_soc_acpi_endpoint {
  * @name_prefix: string used for codec controls
  */
 struct snd_soc_acpi_adr_device {
-       const u64 adr;
-       const u8 num_endpoints;
+       u64 adr;
+       u8 num_endpoints;
        const struct snd_soc_acpi_endpoint *endpoints;
        const char *name_prefix;
 };
@@ -131,8 +131,8 @@ struct snd_soc_acpi_adr_device {
  */
 
 struct snd_soc_acpi_link_adr {
-       const u32 mask;
-       const u32 num_adr;
+       u32 mask;
+       u32 num_adr;
        const struct snd_soc_acpi_adr_device *adr_d;
 };