linux/sound/soc
Chancel Liu 755bb9a44f
ASoC: soc-core.c: Prefer to return dai->driver->name in snd_soc_dai_name_get()
ASoC machine driver can use snd_soc_{of_}get_dlc() (A) to get DAI name
for dlc (snd_soc_dai_link_component). In this function call
dlc->dai_name is parsed via snd_soc_dai_name_get() (B).

(A)	int snd_soc_get_dlc(...)
	{
		...
(B)		dlc->dai_name = snd_soc_dai_name_get(dai);
		...
	}

(B) has a priority to return dai->name as dlc->dai_name. In most cases
card can probe successfully. However it has an issue that ASoC tries to
rebind card. Here is a simplified flow for example:

 |	a) Card probes successfully at first
 |	b) One of the component bound to this card is removed for some
 |	   reason the component->dev is released
 |	c) That component is re-registered
 v	d) ASoC calls snd_soc_try_rebind_card()

a) points dlc->dai_name to dai->name. b) releases all resource of the
old DAI. c) creates new DAI structure. In result d) can not use
dlc->dai_name to add new created DAI.

So it's reasonable that prefer to return dai->driver->name in
snd_soc_dai_name_get() because dai->driver is a pre-defined global
variable. Also update snd_soc_is_matching_dai() for alignment.

Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
Link: https://msgid.link/r/20240304072128.2845432-1-chancel.liu@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-03-04 20:27:36 +00:00
..
adi
amd ASoC: amd: ps: modify ACP register end address macro 2024-02-22 19:49:40 +00:00
apple
atmel ASoC: atmel: use devm_snd_soc_register_card() 2024-01-22 00:06:03 +00:00
au1x
bcm
cirrus ASoC: cirrus: edb93xx: Drop legacy include 2023-12-01 16:59:22 +00:00
codecs ASoC: cs-amp-lib: Add KUnit test for calibration helpers 2024-03-04 20:27:35 +00:00
dwc Linux 6.6-rc7 2023-10-23 19:38:22 +01:00
fsl ASoC: use devm_snd_soc_register_card() 2024-01-22 21:08:17 +00:00
generic ASoC: audio-graph-card2: fix index check on graph_parse_node_multi_nm() 2024-01-12 14:13:53 +00:00
google
hisilicon ASoC: hisilicon: Drop GPIO include 2023-12-18 14:03:29 +00:00
img
intel ASoC: Intel: avs: Fixes and new platforms support 2024-02-21 00:52:26 +00:00
jz4740
kirkwood
loongson
mediatek ASoC: Fixes for v6.8 2024-01-16 17:37:17 +01:00
meson ASoC: meson: axg-fifo: use FIELD helpers 2024-02-27 18:43:22 +00:00
mxs
pxa ASoC: pxa: remove duplicated CONFIG_SND_PXA2XX_AC97 entry 2024-02-05 14:32:29 +00:00
qcom ASoC: Intel: avs: Fixes and new platforms support 2024-02-21 00:52:26 +00:00
rockchip i2c: make i2c_bus_type const 2024-01-18 21:10:43 +01:00
samsung ASoC: samsung: odroid: don't need DUMMY Platform 2023-12-19 13:23:43 +00:00
sh ASoC: sh: rz-ssi: Fix error message print 2024-01-30 15:27:56 +00:00
sof ASoC: Intel: avs: Fixes and new platforms support 2024-02-21 00:52:26 +00:00
spear
sprd ASoC: sprd: Simplify memory allocation in sprd_platform_compr_dma_config() 2023-12-19 14:02:50 +00:00
starfive ASoC: starfive/jh7110-pwmdac: Convert to platform remove callback returning void 2023-10-23 13:29:44 +01:00
sti ASoC: sti-uniperf: Use default pcm_config instead 2023-11-13 01:26:07 +00:00
stm
sunxi ASoC: sunxi: sun4i-spdif: Add support for Allwinner H616 2024-01-29 16:55:18 +00:00
tegra ASoC: tegra: tegra20_ac97: Convert to use GPIO descriptors 2023-12-18 14:03:32 +00:00
ti ASoC: use devm_snd_soc_register_card() 2024-01-22 21:08:17 +00:00
uniphier ASoC: uniphier: Make uniphier_aio_remove() return void 2023-10-23 13:29:48 +01:00
ux500
xilinx
xtensa
Kconfig
Makefile
soc-ac97.c
soc-acpi.c
soc-card.c
soc-component.c
soc-compress.c
soc-core.c ASoC: soc-core.c: Prefer to return dai->driver->name in snd_soc_dai_name_get() 2024-03-04 20:27:36 +00:00
soc-dai.c ASoC: Merge up workaround for CODECs that play noise on stopped stream 2023-10-27 22:33:15 +01:00
soc-dapm.c ASoC: makes CPU/Codec channel connection map more generic 2023-11-27 13:44:00 +00:00
soc-devres.c
soc-generic-dmaengine-pcm.c
soc-jack.c
soc-link.c
soc-ops.c ASoC: ops: add correct range check for limiting volume 2023-12-04 16:20:25 +00:00
soc-pcm.c ASoC: Updates for v6.8 2024-01-08 08:18:02 +01:00
soc-topology-test.c ASoC: topology: Replace fake root_device with kunit_device in tests 2023-12-18 13:28:08 -07:00
soc-topology.c
soc-utils-test.c
soc-utils.c