[alsa-devel] [PATCH v2 2/2] ALSA: usb: initial USB Audio Device Class 3.0 support

Takashi Iwai tiwai at suse.de
Mon Mar 19 17:28:56 CET 2018


On Mon, 19 Mar 2018 02:46:03 +0100,
Ruslan Bilovol wrote:
> 
> Recently released USB Audio Class 3.0 specification
> introduces many significant changes comparing to
> previous versions, like
>  - new Power Domains, support for LPM/L1
>  - new Cluster descriptor
>  - changed layout of all class-specific descriptors
>  - new High Capability descriptors
>  - New class-specific String descriptors
>  - new and removed units
>  - additional sources for interrupts
>  - removed Type II Audio Data Formats
>  - ... and many other things (check spec)
> 
> It also provides backward compatibility through
> multiple configurations, as well as requires
> mandatory support for BADD (Basic Audio Device
> Definition) on each ADC3.0 compliant device
> 
> This patch adds initial support of UAC3 specification
> that is enough for Generic I/O Profile (BAOF, BAIF)
> device support from BADD document.
> 
> Signed-off-by: Ruslan Bilovol <ruslan.bilovol at gmail.com>

Most code changes look fairly straightforward, and not breaking the
UAC1/UAC2 stuff.  So the stuff is good enough through a quick glance.

I suppose it's better to merge via sound git tree.
Greg, could you check include/linux/usb/* (and uapi) stuff and give an
ack if it's OK?

In anyway, I'll check the specs and compare with the definitions in
this patch.


And, just minor nitpicking regarding the code change: 

it's better to drop the parentheses in a line like below

> +		if ((protocol == UAC_VERSION_1) || (protocol == UAC_VERSION_2)) {

that is,
		if (protocol == UAC_VERSION_1 || protocol == UAC_VERSION_2) {

The indentation became so deep in some functions, and it's better to
refactor, but this can be done later once after all implementations
are finished.


thanks,

Takashi


More information about the Alsa-devel mailing list