[alsa-devel] [PATCH 1/5] ALSA: usbaudio: parse USB descriptors with structs

Daniel Mack daniel at caiaq.de
Tue Feb 23 09:07:16 CET 2010


On Tue, Feb 23, 2010 at 08:50:29AM +0100, Clemens Ladisch wrote:
> Daniel Mack wrote:
> > In preparation of support for v2.0 audio class, use the structs from
> > linux/usb/audio.h and add some new ones to describe the fields that are
> > actually parsed by the descriptor decoders.
> > ...
> > --- a/include/linux/usb/audio.h
> > +++ b/include/linux/usb/audio.h
> > @@ -81,7 +81,7 @@
> >  
> >  /* Terminal Control Selectors */
> >  /* 4.3.2  Class-Specific AC Interface Descriptor */
> > -struct uac_ac_header_descriptor {
> > +struct uac_ac_header_descriptor_v1 {
> 
> This header is already used by drivers in drivers/usb/gadget/.
> 
> If there isn't too much overlap between v1 and v2 descriptors, it might
> make sense to put them in separate headers (audio2.h) and to put the
> parsers for v1 and v2 into separate files, too.

There's a lot of overlap, v2.0 is more an extension to v1.0, with
certain incompatibilties that must be addressed. I can split the
headers, that wouldn't be a big thing. But the parsers have too many
things in common. I'll have a look whether the common parts could be
factored out somehow. I don't like 4000+ line .c files anyway ;)

Daniel


More information about the Alsa-devel mailing list