linux/sound/soc
Krzysztof Kozlowski cfaa04a3ab soundwire: fix initializing sysfs for same devices on different buses
[ Upstream commit 8a8a9ac8a4 ]

If same devices with same device IDs are present on different soundwire
buses, the probe fails due to conflicting device names and sysfs
entries:

  sysfs: cannot create duplicate filename '/bus/soundwire/devices/sdw:0:0217:0204:00:0'

The link ID is 0 for both devices, so they should be differentiated by
the controller ID. Add the controller ID so, the device names and sysfs entries look
like:

  sdw:1:0:0217:0204:00:0 -> ../../../devices/platform/soc@0/6ab0000.soundwire-controller/sdw-master-1-0/sdw:1:0:0217:0204:00:0
  sdw:3:0:0217:0204:00:0 -> ../../../devices/platform/soc@0/6b10000.soundwire-controller/sdw-master-3-0/sdw:3:0:0217:0204:00:0

[PLB changes: use bus->controller_id instead of bus->id]

Fixes: 7c3cd189b8 ("soundwire: Add Master registration")
Cc: stable@vger.kernel.org
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Co-developed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Mark Brown <broonie@kernel.org>
Tested-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20231017160933.12624-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-01-31 16:18:47 -08:00
..
adi ASoC: adi: merge DAI call back functions into ops 2023-08-14 13:10:03 +01:00
amd ASoC: amd: vangogh: Drop conflicting ACPI-based probing 2024-01-25 15:35:38 -08:00
apple
atmel ASoC: dmaengine: Drop unused iov_iter for process callback 2023-09-01 15:38:29 +02:00
au1x ASoC: au1x: merge DAI call back functions into ops 2023-08-14 13:10:15 +01:00
bcm ASoC: bcm: merge DAI call back functions into ops 2023-08-14 13:10:06 +01:00
cirrus ASoC: cirrus: merge DAI call back functions into ops 2023-08-14 13:10:22 +01:00
codecs ASoC: rt5645: Drop double EF20 entry from dmi_platform_data[] 2024-01-25 15:35:39 -08:00
dwc ASoC: dwc: Fix non-DT instantiation 2023-10-13 18:40:27 +01:00
fsl ASoC: fsl_xcvr: refine the requested phy clock frequency 2024-01-20 11:51:40 +01:00
generic ASoC: simple-card: fixup asoc_simple_probe() error handling 2023-09-19 13:48:38 +01:00
google
hisilicon ASoC: hisilicon: merge DAI call back functions into ops 2023-08-14 13:10:30 +01:00
img ASoC: img: merge DAI call back functions into ops 2023-08-14 13:10:08 +01:00
intel soundwire: fix initializing sysfs for same devices on different buses 2024-01-31 16:18:47 -08:00
jz4740 ASoC: jz4740: merge DAI call back functions into ops 2023-08-14 13:10:21 +01:00
kirkwood
loongson ASoC: loongson: merge DAI call back functions into ops 2023-08-14 13:10:28 +01:00
mediatek ASoC: mediatek: sof-common: Add NULL check for normal_link string 2024-01-25 15:35:55 -08:00
meson ASoC: meson: g12a-tohdmitx: Fix event generation for S/PDIF mux 2024-01-10 17:16:51 +01:00
mxs
pxa ASoC: pxa: fix a memory leak in probe() 2023-10-09 13:13:50 +01:00
qcom ASoC: qcom: sc8280xp: Limit speaker digital volumes 2023-12-13 18:45:35 +01:00
rockchip ASoC: rockchip: Fix Wvoid-pointer-to-enum-cast warning 2023-08-15 19:23:00 +01:00
samsung ASoC: samsung: tm2_wm5110: parse audio-routing 2023-08-16 14:47:20 +01:00
sh ASoC: rsnd: add missing of_node_put 2023-09-11 01:23:54 +01:00
sof ASoC: SOF: ipc4-loader: remove the CPC check warnings 2024-01-25 15:35:58 -08:00
spear
sprd
starfive ASoC: starfive: merge DAI call back functions into ops 2023-08-14 13:10:29 +01:00
sti ASoC: sti: merge DAI call back functions into ops 2023-08-14 13:10:10 +01:00
stm ASoC: dmaengine: Drop unused iov_iter for process callback 2023-09-01 15:38:29 +02:00
sunxi ASoC: sunxi: merge DAI call back functions into ops 2023-08-14 13:10:17 +01:00
tegra ASoC: tegra: Fix redundant PLLA and PLLA_OUT0 updates 2023-09-11 01:23:51 +01:00
ti ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings 2023-11-28 17:19:47 +00:00
uniphier ASoC: uniphier: merge DAI call back functions into ops 2023-08-14 13:10:27 +01:00
ux500 ASoC: ux500: merge DAI call back functions into ops 2023-08-14 13:10:16 +01:00
xilinx
xtensa
Kconfig
Makefile
soc-ac97.c
soc-acpi.c ASoC: soc-acpi: improve log messagesin link_slaves_found() 2023-07-31 23:24:01 +01:00
soc-card.c
soc-component.c ASoC: soc-dapm: Add helper for comparing widget name 2023-10-09 13:03:28 +01:00
soc-compress.c ASoC: Fixes that got left after v6.4 2023-08-28 16:56:54 +02:00
soc-core.c ASoC: core: Do not call link_exit() on uninitialized rtd objects 2023-09-29 14:17:49 +02:00
soc-dai.c ASoC: soc-dai: add flag to mute and unmute stream during trigger 2023-11-28 17:20:04 +00:00
soc-dapm.c ASoC: dapm: fix clock get name 2023-11-20 11:59:37 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: soc-generic-dmaengine-pcm: Fix function name in comment 2023-09-22 17:33:04 +01:00
soc-jack.c ASoC: soc-jack: calling snd_soc_jack_report causes a null pointer access 2023-08-14 22:10:35 +01:00
soc-link.c
soc-ops.c ASoC: ops: add correct range check for limiting volume 2023-12-13 18:45:31 +01:00
soc-pcm.c ASoC: soc-dai: add flag to mute and unmute stream during trigger 2023-11-28 17:20:04 +00:00
soc-topology-test.c
soc-topology.c ASoC: Updates for v6.6 2023-08-28 16:13:03 +02:00
soc-utils-test.c
soc-utils.c ASoC: soc-utils: Export snd_soc_dai_is_dummy() symbol 2023-09-11 01:23:50 +01:00