]> git.baikalelectronics.ru Git - kernel.git/commit
usb: gadget: f_uac2: add volume and mute support
authorRuslan Bilovol <ruslan.bilovol@gmail.com>
Mon, 12 Jul 2021 12:55:28 +0000 (14:55 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 Jul 2021 08:10:11 +0000 (10:10 +0200)
commita7ef056d021e4d59256870e66bf45acff209debb
tree7afba51916030445da028021e828c3fed9549364
parent2857e111d336a6a77afa9ea08805e79770fca3a1
usb: gadget: f_uac2: add volume and mute support

This adds bi-directional (host->device, device->host)
volume/mute support to the f_uac2 driver by adding
Feature Units and interrupt endpoint.

Currently only master channel is supported.

Volume and mute are configurable through configfs,
by default volume has -100..0 dB range with 1 dB step.

Similar to existing flexible endpoints configuration,
Feature Unit won't be added to the topology if both
mute and volume are not enabled, also interrupt endpoint
isn't added to the device if no feature unit is present

Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com>
Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com>
Link: https://lore.kernel.org/r/20210712125529.76070-4-pavel.hofman@ivitera.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/ABI/testing/configfs-usb-gadget-uac2
Documentation/usb/gadget-testing.rst
drivers/usb/gadget/function/f_uac2.c
drivers/usb/gadget/function/u_uac2.h