1 | // SPDX-License-Identifier: GPL-2.0 |
2 | /* |
3 | * <linux/usb/audio.h> -- USB Audio definitions. |
4 | * |
5 | * Copyright (C) 2006 Thumtronics Pty Ltd. |
6 | * Developed for Thumtronics by Grey Innovation |
7 | * Ben Williamson <ben.williamson@greyinnovation.com> |
8 | * |
9 | * This file holds USB constants and structures defined |
10 | * by the USB Device Class Definition for Audio Devices. |
11 | * Comments below reference relevant sections of that document: |
12 | * |
13 | * http://www.usb.org/developers/devclass_docs/audio10.pdf |
14 | * |
15 | * Types and defines in this file are either specific to version 1.0 of |
16 | * this standard or common for newer versions. |
17 | */ |
18 | #ifndef __LINUX_USB_AUDIO_H |
19 | #define __LINUX_USB_AUDIO_H |
20 | |
21 | #include <uapi/linux/usb/audio.h> |
22 | |
23 | |
24 | struct usb_audio_control { |
25 | struct list_head list; |
26 | const char *name; |
27 | u8 type; |
28 | int data[5]; |
29 | int (*set)(struct usb_audio_control *con, u8 cmd, int value); |
30 | int (*get)(struct usb_audio_control *con, u8 cmd); |
31 | }; |
32 | |
33 | struct usb_audio_control_selector { |
34 | struct list_head list; |
35 | struct list_head control; |
36 | u8 id; |
37 | const char *name; |
38 | u8 type; |
39 | struct usb_descriptor_header *desc; |
40 | }; |
41 | |
42 | #endif /* __LINUX_USB_AUDIO_H */ |
43 | |