blob: 3d84619110a4691f6d49900538f93077aa65251b [file] [log] [blame]
Ben Williamsonf2ebf92c2006-08-01 11:28:16 +10001/*
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
Daniel Mack7e847892010-03-11 21:13:20 +010016 *
17 * Types and defines in this file are either specific to version 1.0 of
18 * this standard or common for newer versions.
Ben Williamsonf2ebf92c2006-08-01 11:28:16 +100019 */
Ben Williamsonf2ebf92c2006-08-01 11:28:16 +100020#ifndef __LINUX_USB_AUDIO_H
21#define __LINUX_USB_AUDIO_H
22
David Howells5e1ddb42012-10-09 09:49:07 +010023#include <uapi/linux/usb/audio.h>
Daniel Macke213e9c2010-05-11 18:13:50 +020024
Michael S. Tsirkinc3501302009-07-29 14:23:25 +030025
Bryan Wuc47d7b02009-06-03 09:17:57 -040026struct 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
Bryan Wuc47d7b02009-06-03 09:17:57 -040035struct 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
Robert P. J. Daydda43a02008-03-07 13:45:32 -050044#endif /* __LINUX_USB_AUDIO_H */