Maybe if you can present some diagram or something, because I really
can't understand why asoc is trying to do with virtual bus here.
instead of having a 1:1 mapping between PCI device and a monolithic
card, we want to split the sound card in multiple orthogonal parts such as:
PCI device
- local devices (mic/speakers)
- hdmi devices
- presence detection/sensing
- probe/tuning interfaces
- debug/tests
Initially we wanted to use platform devices but Greg suggested this API
is abused. We don't have a platform/firmware based enumeration, nor a
physical bus for each of these subparts, so the virtual bus was suggested.
Does this help?