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

This adds bi-directional (host->device, device->host)
volume/mute support to the f_uac1 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-5-pavel.hofman@ivitera.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/ABI/testing/configfs-usb-gadget-uac1
Documentation/usb/gadget-testing.rst
drivers/usb/gadget/function/f_uac1.c
drivers/usb/gadget/function/u_uac1.h