summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2014-08-05 18:35:34 +0000
committerhselasky <hselasky@FreeBSD.org>2014-08-05 18:35:34 +0000
commit272d9252ab1b42128afee34e985ca1b51bd9fb30 (patch)
tree8efcd00a4334505e67adb987c304b896d9476350 /sys/dev/usb
parent222c2c3d8072036484c31f02fdd7b9da32fc06cf (diff)
downloadFreeBSD-src-272d9252ab1b42128afee34e985ca1b51bd9fb30.zip
FreeBSD-src-272d9252ab1b42128afee34e985ca1b51bd9fb30.tar.gz
Add handler for read-back of USB audio volume levels.
Diffstat (limited to 'sys/dev/usb')
-rw-r--r--sys/dev/usb/gadget/g_audio.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/usb/gadget/g_audio.c b/sys/dev/usb/gadget/g_audio.c
index a1d2394..fdcb5c8 100644
--- a/sys/dev/usb/gadget/g_audio.c
+++ b/sys/dev/usb/gadget/g_audio.c
@@ -587,6 +587,16 @@ g_audio_handle_request(device_t dev,
*plen = 0;
}
return (0);
+ } else if ((req->bmRequestType == UT_READ_CLASS_INTERFACE) &&
+ (req->bRequest == 0x81 /* get value */ )) {
+
+ if (offset == 0) {
+ *plen = sizeof(sc->sc_volume_setting);
+ *pptr = &sc->sc_volume_setting;
+ } else {
+ *plen = 0;
+ }
+ return (0);
} else if ((req->bmRequestType == UT_WRITE_CLASS_INTERFACE) &&
(req->bRequest == 0x01 /* set value */ )) {
OpenPOWER on IntegriCloud