> Yes Controller has ACPI scope. Under controller based on > "mipi-sdw-manager-list" property manager instances will be created. > Manager and Link terms are interchangeable. > > Below is the sample DSDT file if we go with two ACPI companion > devices. > > Scope (\_SB.ACP) > { > > Device (SWC0) > { > Name (_ADR, 0x05) // _ADR: Address > Name(_DSD, Package() { > ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), > Package () { > Package (2) {"mipi-sdw-sw-interface-revision", 0x00010000}, > Package (2) {"mipi-sdw-manager-list", 1}, // v 1.0 > }, > ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), // Hierarchical Extension > Package () { > Package (2) {"mipi-sdw-link-0-subproperties", "SWM0"}, > } > }) // End _DSD > Name(SWM0, Package() { > ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), > Package () { > Package (2) {"mipi-sdw-sw-interface-revision", 0x00010000}, > // ... place holder for SWM0 additional properties > } > }) // End SWM0.SWM > > Device (SLV0) { // SoundWire Slave 0 > Name(_ADR, 0x000032025D131601) > } // END SLV0 > > } // END SWC0 > > Device (SWC1) > { > Name (_ADR, 0x09) // _ADR: Address > Name(_DSD, Package() { > ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), > Package () { > Package (2) {"mipi-sdw-sw-interface-revision", 0x00010000}, > Package (2) {"mipi-sdw-manager-list", 1}, > }, > ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), > Package () { > Package (2) {"mipi-sdw-link-0-subproperties", "SWM0"}, > > } > }) // End _DSD > Name(SWM0, Package() { > ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), > Package () { > Package (2) {"mipi-sdw-sw-interface-revision", 0x00010000}, > // ... place holder for SWM0 additional properties > } > }) // End SWM0.SWM > > Device (SLV0) { // SoundWire Slave 0 > Name(_ADR, 0x000032025D131601) > } // END SLV0 > > } // END SWC1 > } > } that looks good to me. > In above case, two manager instances will be created. > When manager under SWC1 scope tries to add peripheral > device, In sdw_slave_add() API its failing because peripheral > device descriptor uses link id followed by 48bit encoded address. > In above scenarios, both the manager's link id is zero only. what fails exactly? The device_register() ? If yes, what the issue. the device name? I wonder if we need to use something like "name shall be sdw:bus_id:link:mfg:part:class" so as to uniquify the device name, if that was the problem.