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
16 *
17 * Types and defines in this file are either specific to version 1.0 of
18 * this standard or common for newer versions.
19 */
20#ifndef __LINUX_USB_AUDIO_H
21#define __LINUX_USB_AUDIO_H
22
23#include <uapi/linux/usb/audio.h>
24
25
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
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
44#endif /* __LINUX_USB_AUDIO_H */
45