Vinod, the question was not for dp0 and dpN, it's fine to have subdirectories there, but rather why we need separate devices for the master and slave properties.
Slave does not have a separate device. IIRC the properties for Slave are in /sys/bus/soundwire/device/<slave>/...
I am not sure this is correct
ACPI defines the slaves devices under /sys/bus/acpi/PRP0001, e.g.
Yes the bus will create 'soundwire slave' device type (In acpi case created from ACPI walk) and we do link the ACPI as the firmware node. This is 'not' created for properties but for soundwire representation of slave devices. This is the one code driver attaches to.
/sys/bus/acpi/devices/PRP00001:00/device:17# ls
Yes this would the companion ACPI device
I see, I must admit I missed this part.
I guess it's not technically broken but was is really necessary though to use this notion of companion ACPI device? For the controller it makes sense, that's how to match ACPI and PCI, but since Soundwire slaves are not fully enumerable, precisely why we need all these _DSD properties, couldn't we just use ACPI devices directly?