This patch series adds support for mixer interfaces in USB audio class v2 devices. Successfully tested on a XMOS L1 eval kit. They apply on top of the topic/usb branch.
There's a number significant differences between v1 and v2 implementations, which the patches itself may explain best :)
I moved most quirks out into a seperate file, and hope you agree that it's cleaner that way. Most descriptors are now parsed with structs which makes the code more readable. However, there are quite some descriptors with variable field lengths so they can't be mapped into structs. I introduces some macros to access these fields.
Again, please test this with v1 devices, as I can't be entirely confident that I didn't break anything in the transition.
Thanks, Daniel
[PATCH 1/6] linux/usb/audio.h: split header [PATCH 2/6] ALSA: usb-mixer: use defines from audio.h [PATCH 3/6] ALSA: usb-mixer: factor out quirks [PATCH 4/6] ALSA: usb-mixer: rename usbmixer.[ch] -> mixer.[ch] [PATCH 5/6] ALSA: usb-mixer: parse descriptors with structs [PATCH 6/6] ALSA: usb-mixer: Add support for Audio Class v2.0