Merge tag 'staging-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
[linux-2.6-block.git] / include / linux / usb / audio.h
CommitLineData
f2ebf92c
BW
1/*
2 * <linux/usb/audio.h> -- USB Audio definitions.
3 *
4 * Copyright (C) 2006 Thumtronics Pty Ltd.
5 * Developed for Thumtronics by Grey Innovation
6 * Ben Williamson <ben.williamson@greyinnovation.com>
7 *
8 * This software is distributed under the terms of the GNU General Public
9 * License ("GPL") version 2, as published by the Free Software Foundation.
10 *
11 * This file holds USB constants and structures defined
12 * by the USB Device Class Definition for Audio Devices.
13 * Comments below reference relevant sections of that document:
14 *
15 * http://www.usb.org/developers/devclass_docs/audio10.pdf
7e847894
DM
16 *
17 * Types and defines in this file are either specific to version 1.0 of
18 * this standard or common for newer versions.
f2ebf92c 19 */
f2ebf92c
BW
20#ifndef __LINUX_USB_AUDIO_H
21#define __LINUX_USB_AUDIO_H
22
5e1ddb48 23#include <uapi/linux/usb/audio.h>
99fc8645 24
c3501308 25
c47d7b09
BW
26struct usb_audio_control {
27 struct list_head list;
28 const char *name;
29 u8 type;
30 int data[5];
31 int (*set)(struct usb_audio_control *con, u8 cmd, int value);
32 int (*get)(struct usb_audio_control *con, u8 cmd);
33};
34
c47d7b09
BW
35struct usb_audio_control_selector {
36 struct list_head list;
37 struct list_head control;
38 u8 id;
39 const char *name;
40 u8 type;
41 struct usb_descriptor_header *desc;
42};
43
dda43a0e 44#endif /* __LINUX_USB_AUDIO_H */