linux-stable/drivers/soundwire
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
..
amd_manager.c soundwire: bus: introduce controller_id 2024-01-31 16:18:47 -08:00
amd_manager.h
bus.c soundwire: bus: introduce controller_id 2024-01-31 16:18:47 -08:00
bus.h
bus_type.c soundwire: bus: Make IRQ handling conditionally built 2023-09-21 11:31:33 +02:00
cadence_master.c
cadence_master.h
debugfs.c soundwire: bus: introduce controller_id 2024-01-31 16:18:47 -08:00
dmi-quirks.c soundwire: dmi-quirks: update HP Omen match 2023-11-28 17:19:45 +00:00
generic_bandwidth_allocation.c
intel.c
intel.h
intel_ace2x.c soundwire: intel_ace2x: fix AC timing setting for ACE2.x 2024-01-20 11:51:42 +01:00
intel_ace2x_debugfs.c
intel_auxdevice.c soundwire: bus: introduce controller_id 2024-01-31 16:18:47 -08:00
intel_auxdevice.h
intel_bus_common.c
intel_init.c
irq.c soundwire: bus: Make IRQ handling conditionally built 2023-09-21 11:31:33 +02:00
irq.h soundwire: bus: Make IRQ handling conditionally built 2023-09-21 11:31:33 +02:00
Kconfig
Makefile soundwire: bus: Make IRQ handling conditionally built 2023-09-21 11:31:33 +02:00
master.c soundwire: bus: introduce controller_id 2024-01-31 16:18:47 -08:00
mipi_disco.c
qcom.c soundwire: bus: introduce controller_id 2024-01-31 16:18:47 -08:00
slave.c soundwire: fix initializing sysfs for same devices on different buses 2024-01-31 16:18:47 -08:00
stream.c soundwire: stream: fix NULL pointer dereference for multi_link 2023-12-20 17:02:01 +01:00
sysfs_local.h
sysfs_slave.c
sysfs_slave_dpn.c