linux/sound/soc/sof/intel
Curtis Malainey 6f6a23d42b
ASoC: Intel: Fix RT5650 SSP lookup
Commit 8efcd48646 ("ASoC: Intel: sof_rt5682: use common module for
sof_card_private initialization") migrated the pin assignment in the
context struct up to soc-acpi-intel-ssp-common.c. This uses a lookup
table to see if a device has a amp/codec before assigning the pin. The
issue here arises when combination parts that serve both (with 2 ports)
are used.

sysfs: cannot create duplicate filename '/devices/pci0000:00/0000:00:1f.3/adl_rt5682_def/SSP0-Codec'
CPU: 1 PID: 2079 Comm: udevd Tainted: G     U             6.6.36-03391-g744739e00023 #1 3be1a2880a0970f65545a957db7d08ef4b3e2c0d
Hardware name: Google Anraggar/Anraggar, BIOS Google_Anraggar.15217.552.0 05/07/2024
Call Trace:
 <TASK>
 dump_stack_lvl+0x69/0xa0
 sysfs_warn_dup+0x5b/0x70
 sysfs_create_dir_ns+0xb0/0x100
 kobject_add_internal+0x133/0x3c0
 kobject_add+0x66/0xb0
 ? device_add+0x65/0x780
 device_add+0x164/0x780
 snd_soc_add_pcm_runtimes+0x2fa/0x800
 snd_soc_bind_card+0x35e/0xc20
 devm_snd_soc_register_card+0x48/0x90
 platform_probe+0x7b/0xb0
 really_probe+0xf7/0x2a0
 ...
kobject: kobject_add_internal failed for SSP0-Codec with -EEXIST, don't try to register things with the same name in the same directory.

The issue is that the ALC5650 was only defined in the codec table and
not the amp table which left the pin unassigned but the dai link was
still created by the machine driver.

Also patch the suffix filename code for the topology to prevent double
suffix names as a result of this change.

Fixes: 8efcd48646 ("ASoC: Intel: sof_rt5682: use common module for sof_card_private initialization")
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://patch.msgid.link/20240716084012.299257-1-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-07-16 14:07:56 +01:00
..
apl.c ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
atom.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
atom.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
bdw.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
byt.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
cnl.c ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
ext_manifest.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
hda-bus.c ASoC: Updates for v6.10 2024-05-13 11:39:49 +02:00
hda-codec.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
hda-common-ops.c ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
hda-ctrl.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
hda-dai-ops.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
hda-dai.c ASoC: SOF: Intel: hda: fix null deref on system suspend entry 2024-07-04 12:09:09 +01:00
hda-dsp.c ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
hda-ipc.c ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
hda-ipc.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
hda-loader-skl.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
hda-loader.c ASOC: SOF: Intel: hda-loader: only wait for HDaudio IOC for IPC4 devices 2024-07-16 14:07:55 +01:00
hda-mlink.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
hda-pcm.c ASoC: SOF: Intel: hda-pcm: Limit the maximum number of periods by MAX_BDL_ENTRIES 2024-07-04 12:09:11 +01:00
hda-probes.c ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
hda-stream.c ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
hda-trace.c ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
hda.c ASoC: Intel: Fix RT5650 SSP lookup 2024-07-16 14:07:56 +01:00
hda.h ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
icl.c ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
Kconfig ASoC: SOF: Intel: move hda.c to different module 2024-05-05 23:45:48 +09:00
lnl.c ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
lnl.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
Makefile ASoC: SOF: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:30 +09:00
mtl.c ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
mtl.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
pci-apl.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
pci-cnl.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
pci-icl.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
pci-lnl.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
pci-mtl.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
pci-skl.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
pci-tgl.c ASoC: SOF: Intel: pci-tgl: Align ADL-N sof_dev_desc struct name to convention 2024-06-03 15:59:50 +01:00
pci-tng.c ASoC: SOF: add missing MODULE_DESCRIPTION() 2024-05-27 21:19:27 +01:00
shim.h ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
skl.c ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
telemetry.c ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
telemetry.h ASoC: SOF: Intel: clarify Copyright information 2024-05-06 23:59:35 +09:00
tgl.c ALSA/ASoC: Intel: clarify Copyright information 2024-05-07 10:37:51 +09:00
tracepoints.c ASoC: SOF: Intel: move hda.c to different module 2024-05-05 23:45:48 +09:00