This version has lots of improvements, but I am concerned about hard-coded ops/callbacks that look racy and assume dependencies between driver probes. How does this work if the probe is delayed on one side for some reason? What happens is a driver is 'blacklisted' and manually added later? The code has to deal with this sort of known unknowns. I also still have a bit of heartburn with the notion that there would be a completely separate card with all the control for volume/mute/etc having to be duplicated. It's still a lot of good work so thanks for sharing and pushing for this capability.