Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * <linux/usb/audio.h> -- USB Audio definitions.
0004  *
0005  * Copyright (C) 2006 Thumtronics Pty Ltd.
0006  * Developed for Thumtronics by Grey Innovation
0007  * Ben Williamson <ben.williamson@greyinnovation.com>
0008  *
0009  * This file holds USB constants and structures defined
0010  * by the USB Device Class Definition for Audio Devices.
0011  * Comments below reference relevant sections of that document:
0012  *
0013  * http://www.usb.org/developers/devclass_docs/audio10.pdf
0014  *
0015  * Types and defines in this file are either specific to version 1.0 of
0016  * this standard or common for newer versions.
0017  */
0018 #ifndef __LINUX_USB_AUDIO_H
0019 #define __LINUX_USB_AUDIO_H
0020 
0021 #include <uapi/linux/usb/audio.h>
0022 
0023 
0024 struct usb_audio_control {
0025     struct list_head list;
0026     const char *name;
0027     u8 type;
0028     int data[5];
0029     int (*set)(struct usb_audio_control *con, u8 cmd, int value);
0030     int (*get)(struct usb_audio_control *con, u8 cmd);
0031 };
0032 
0033 struct usb_audio_control_selector {
0034     struct list_head list;
0035     struct list_head control;
0036     u8 id;
0037     const char *name;
0038     u8 type;
0039     struct usb_descriptor_header *desc;
0040 };
0041 
0042 #endif /* __LINUX_USB_AUDIO_H */