Skip to content

Commit 9c2c0ef

Browse files
Venkata-Prasad-Potturubroonie
authored andcommitted
ASoC: amd: acp: Fix snd_soc_acpi_mach id's duplicate symbol error
Move snd_soc_acpi_mach id's of all acp platforms form header file to amd-acpi-mach.c file to avoid below errors. ld.lld: error: duplicate symbol: amp_rt1019 ld.lld: error: duplicate symbol: amp_max ld.lld: error: duplicate symbol: snd_soc_acpi_amd_acp63_acp_machines ld.lld: error: duplicate symbol: snd_soc_acpi_amd_acp70_acp_machines ld.lld: error: duplicate symbol: snd_soc_acpi_amd_rmb_acp_machines ld.lld: error: duplicate symbol: snd_soc_acpi_amd_acp_machines Fixes: 6e60db7 ("ASoC: amd: acp: Refactor acp machine select") Reported-by: kernel test robot <[email protected]> Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ Signed-off-by: Venkata Prasad Potturu <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 3cab1fc commit 9c2c0ef

File tree

5 files changed

+111
-79
lines changed

5 files changed

+111
-79
lines changed

sound/soc/amd/acp/Kconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ config SND_SOC_AMD_ACP_LEGACY_COMMON
2828
config SND_SOC_AMD_ACP_I2S
2929
tristate
3030

31+
config SND_SOC_AMD_ACPI_MACH
32+
tristate
33+
3134
config SND_SOC_AMD_ACP_PCM
3235
tristate
3336
select SND_SOC_ACPI if ACPI
@@ -37,6 +40,7 @@ config SND_SOC_AMD_ACP_PCI
3740
depends on X86 && PCI
3841
depends on ACPI
3942
select SND_SOC_AMD_ACP_LEGACY_COMMON
43+
select SND_SOC_AMD_ACPI_MACH
4044
help
4145
This options enables generic PCI driver for ACP device.
4246

@@ -47,6 +51,7 @@ config SND_AMD_ASOC_RENOIR
4751
select SND_SOC_AMD_ACP_I2S
4852
select SND_SOC_AMD_ACP_PDM
4953
select SND_SOC_AMD_ACP_LEGACY_COMMON
54+
select SND_SOC_AMD_ACPI_MACH
5055
depends on X86 && PCI
5156
help
5257
This option enables Renoir I2S support on AMD platform.
@@ -58,6 +63,7 @@ config SND_AMD_ASOC_REMBRANDT
5863
select SND_SOC_AMD_ACP_I2S
5964
select SND_SOC_AMD_ACP_PDM
6065
select SND_SOC_AMD_ACP_LEGACY_COMMON
66+
select SND_SOC_AMD_ACPI_MACH
6167
depends on AMD_NODE
6268
depends on X86 && PCI
6369
help
@@ -74,6 +80,7 @@ config SND_AMD_ASOC_ACP63
7480
select SND_SOC_AMD_ACP_I2S
7581
select SND_SOC_AMD_ACP_PDM
7682
select SND_SOC_AMD_ACP_LEGACY_COMMON
83+
select SND_SOC_AMD_ACPI_MACH
7784
help
7885
This option enables Acp6.3 I2S support on AMD platform.
7986
Say Y if you want to enable AUDIO on ACP6.3
@@ -88,6 +95,7 @@ config SND_AMD_ASOC_ACP70
8895
select SND_SOC_AMD_ACP_I2S
8996
select SND_SOC_AMD_ACP_PDM
9097
select SND_SOC_AMD_ACP_LEGACY_COMMON
98+
select SND_SOC_AMD_ACPI_MACH
9199
help
92100
This option enables Acp7.0 PDM support on AMD platform.
93101
Say Y if you want to enable AUDIO on ACP7.0

sound/soc/amd/acp/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ snd-acp-pdm-y := acp-pdm.o
1111
snd-acp-legacy-common-y := acp-legacy-common.o
1212
snd-acp-pci-y := acp-pci.o
1313
snd-amd-sdw-acpi-y := amd-sdw-acpi.o
14+
snd-amd-acpi-mach-y := amd-acpi-mach.o
1415

1516
#platform specific driver
1617
snd-acp-renoir-y := acp-renoir.o
@@ -32,6 +33,7 @@ obj-$(CONFIG_SND_SOC_AMD_ACP_I2S) += snd-acp-i2s.o
3233
obj-$(CONFIG_SND_SOC_AMD_ACP_PDM) += snd-acp-pdm.o
3334
obj-$(CONFIG_SND_SOC_AMD_ACP_LEGACY_COMMON) += snd-acp-legacy-common.o
3435
obj-$(CONFIG_SND_SOC_AMD_ACP_PCI) += snd-acp-pci.o
36+
obj-$(CONFIG_SND_SOC_AMD_ACPI_MACH) += snd-amd-acpi-mach.o
3537

3638
obj-$(CONFIG_SND_AMD_ASOC_RENOIR) += snd-acp-renoir.o
3739
obj-$(CONFIG_SND_AMD_ASOC_REMBRANDT) += snd-acp-rembrandt.o

sound/soc/amd/acp/acp-pci.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,26 +137,26 @@ static int acp_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id
137137
chip->name = "acp_asoc_renoir";
138138
chip->rsrc = &rn_rsrc;
139139
chip->acp_hw_ops_init = acp31_hw_ops_init;
140-
chip->machines = snd_soc_acpi_amd_acp_machines;
140+
chip->machines = &snd_soc_acpi_amd_acp_machines;
141141
break;
142142
case 0x6f:
143143
chip->name = "acp_asoc_rembrandt";
144144
chip->rsrc = &rmb_rsrc;
145145
chip->acp_hw_ops_init = acp6x_hw_ops_init;
146-
chip->machines = snd_soc_acpi_amd_rmb_acp_machines;
146+
chip->machines = &snd_soc_acpi_amd_rmb_acp_machines;
147147
break;
148148
case 0x63:
149149
chip->name = "acp_asoc_acp63";
150150
chip->rsrc = &acp63_rsrc;
151151
chip->acp_hw_ops_init = acp63_hw_ops_init;
152-
chip->machines = snd_soc_acpi_amd_acp63_acp_machines;
152+
chip->machines = &snd_soc_acpi_amd_acp63_acp_machines;
153153
break;
154154
case 0x70:
155155
case 0x71:
156156
chip->name = "acp_asoc_acp70";
157157
chip->rsrc = &acp70_rsrc;
158158
chip->acp_hw_ops_init = acp70_hw_ops_init;
159-
chip->machines = snd_soc_acpi_amd_acp70_acp_machines;
159+
chip->machines = &snd_soc_acpi_amd_acp70_acp_machines;
160160
break;
161161
default:
162162
dev_err(dev, "Unsupported device revision:0x%x\n", pci->revision);

sound/soc/amd/acp/amd-acpi-mach.c

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
2+
/*
3+
* amd-acpi-match.c - tables and support for ACP platforms
4+
* ACPI enumeration.
5+
*
6+
* Copyright 2025 Advanced Micro Devices, Inc.
7+
*/
8+
9+
#include <sound/soc-acpi.h>
10+
11+
struct snd_soc_acpi_codecs amp_rt1019 = {
12+
.num_codecs = 1,
13+
.codecs = {"10EC1019"}
14+
};
15+
16+
struct snd_soc_acpi_codecs amp_max = {
17+
.num_codecs = 1,
18+
.codecs = {"MX98360A"}
19+
};
20+
21+
struct snd_soc_acpi_mach snd_soc_acpi_amd_acp_machines[] = {
22+
{
23+
.id = "10EC5682",
24+
.drv_name = "acp3xalc56821019",
25+
.machine_quirk = snd_soc_acpi_codec_list,
26+
.quirk_data = &amp_rt1019,
27+
},
28+
{
29+
.id = "RTL5682",
30+
.drv_name = "acp3xalc5682sm98360",
31+
.machine_quirk = snd_soc_acpi_codec_list,
32+
.quirk_data = &amp_max,
33+
},
34+
{
35+
.id = "RTL5682",
36+
.drv_name = "acp3xalc5682s1019",
37+
.machine_quirk = snd_soc_acpi_codec_list,
38+
.quirk_data = &amp_rt1019,
39+
},
40+
{
41+
.id = "AMDI1019",
42+
.drv_name = "renoir-acp",
43+
},
44+
{
45+
.id = "ESSX8336",
46+
.drv_name = "acp3x-es83xx",
47+
},
48+
{},
49+
};
50+
EXPORT_SYMBOL_NS_GPL(snd_soc_acpi_amd_acp_machines, "SND_SOC_ACP_COMMON");
51+
52+
struct snd_soc_acpi_mach snd_soc_acpi_amd_rmb_acp_machines[] = {
53+
{
54+
.id = "10508825",
55+
.drv_name = "rmb-nau8825-max",
56+
.machine_quirk = snd_soc_acpi_codec_list,
57+
.quirk_data = &amp_max,
58+
},
59+
{
60+
.id = "AMDI0007",
61+
.drv_name = "rembrandt-acp",
62+
},
63+
{
64+
.id = "RTL5682",
65+
.drv_name = "rmb-rt5682s-rt1019",
66+
.machine_quirk = snd_soc_acpi_codec_list,
67+
.quirk_data = &amp_rt1019,
68+
},
69+
{},
70+
};
71+
EXPORT_SYMBOL_NS_GPL(snd_soc_acpi_amd_rmb_acp_machines, "SND_SOC_ACP_COMMON");
72+
73+
struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_acp_machines[] = {
74+
{
75+
.id = "AMDI0052",
76+
.drv_name = "acp63-acp",
77+
},
78+
{},
79+
};
80+
EXPORT_SYMBOL_NS_GPL(snd_soc_acpi_amd_acp63_acp_machines, "SND_SOC_ACP_COMMON");
81+
82+
struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_acp_machines[] = {
83+
{
84+
.id = "AMDI0029",
85+
.drv_name = "acp70-acp",
86+
},
87+
{},
88+
};
89+
EXPORT_SYMBOL_NS_GPL(snd_soc_acpi_amd_acp70_acp_machines, "SND_SOC_ACP_COMMON");
90+
91+
MODULE_DESCRIPTION("AMD ACP tables and support for ACPI enumeration");
92+
MODULE_LICENSE("GPL");
93+
MODULE_AUTHOR("[email protected]");

sound/soc/amd/acp/amd.h

Lines changed: 4 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -277,81 +277,10 @@ struct acp_resource acp70_rsrc = {
277277
.sram_pte_offset = 0x03800000,
278278
};
279279

280-
struct snd_soc_acpi_codecs amp_rt1019 = {
281-
.num_codecs = 1,
282-
.codecs = {"10EC1019"}
283-
};
284-
285-
struct snd_soc_acpi_codecs amp_max = {
286-
.num_codecs = 1,
287-
.codecs = {"MX98360A"}
288-
};
289-
290-
struct snd_soc_acpi_mach snd_soc_acpi_amd_acp_machines[] = {
291-
{
292-
.id = "10EC5682",
293-
.drv_name = "acp3xalc56821019",
294-
.machine_quirk = snd_soc_acpi_codec_list,
295-
.quirk_data = &amp_rt1019,
296-
},
297-
{
298-
.id = "RTL5682",
299-
.drv_name = "acp3xalc5682sm98360",
300-
.machine_quirk = snd_soc_acpi_codec_list,
301-
.quirk_data = &amp_max,
302-
},
303-
{
304-
.id = "RTL5682",
305-
.drv_name = "acp3xalc5682s1019",
306-
.machine_quirk = snd_soc_acpi_codec_list,
307-
.quirk_data = &amp_rt1019,
308-
},
309-
{
310-
.id = "AMDI1019",
311-
.drv_name = "renoir-acp",
312-
},
313-
{
314-
.id = "ESSX8336",
315-
.drv_name = "acp3x-es83xx",
316-
},
317-
{},
318-
};
319-
320-
struct snd_soc_acpi_mach snd_soc_acpi_amd_rmb_acp_machines[] = {
321-
{
322-
.id = "10508825",
323-
.drv_name = "rmb-nau8825-max",
324-
.machine_quirk = snd_soc_acpi_codec_list,
325-
.quirk_data = &amp_max,
326-
},
327-
{
328-
.id = "AMDI0007",
329-
.drv_name = "rembrandt-acp",
330-
},
331-
{
332-
.id = "RTL5682",
333-
.drv_name = "rmb-rt5682s-rt1019",
334-
.machine_quirk = snd_soc_acpi_codec_list,
335-
.quirk_data = &amp_rt1019,
336-
},
337-
{},
338-
};
339-
340-
struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_acp_machines[] = {
341-
{
342-
.id = "AMDI0052",
343-
.drv_name = "acp63-acp",
344-
},
345-
{},
346-
};
347-
348-
struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_acp_machines[] = {
349-
{
350-
.id = "AMDI0029",
351-
.drv_name = "acp70-acp",
352-
},
353-
{},
354-
};
280+
extern struct snd_soc_acpi_mach snd_soc_acpi_amd_acp_machines;
281+
extern struct snd_soc_acpi_mach snd_soc_acpi_amd_rmb_acp_machines;
282+
extern struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_acp_machines;
283+
extern struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_acp_machines;
355284

356285
extern const struct snd_soc_dai_ops asoc_acp_cpu_dai_ops;
357286
extern const struct snd_soc_dai_ops acp_dmic_dai_ops;

0 commit comments

Comments
 (0)