USB Interface Association is a group of UsbIo that implement a USB function. UEFI device driver manages multiple UsbIo instances. Examples of such devices are: USB camera, USB serial, USB network, etc.
Current approach for supporting these devices is to respond on UsbIo installation and analyze if the current UsbIo belongs to the USB association. This algorithm is based on assumptions that may not be correct for different device configurations. Having USB association protocol that reports its associates (UsbIo) simplifies the USB device driver.
For the USB configurations that implement USB association the UsbDxeBus driver will:
- create USB association device
- install device path
- install USB association IO protocol
Request to create edk2-staging/usb_iad branch, patch is attached.