162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * <linux/usb/audio.h> -- USB Audio definitions. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2006 Thumtronics Pty Ltd. 662306a36Sopenharmony_ci * Developed for Thumtronics by Grey Innovation 762306a36Sopenharmony_ci * Ben Williamson <ben.williamson@greyinnovation.com> 862306a36Sopenharmony_ci * 962306a36Sopenharmony_ci * This file holds USB constants and structures defined 1062306a36Sopenharmony_ci * by the USB Device Class Definition for Audio Devices. 1162306a36Sopenharmony_ci * Comments below reference relevant sections of that document: 1262306a36Sopenharmony_ci * 1362306a36Sopenharmony_ci * http://www.usb.org/developers/devclass_docs/audio10.pdf 1462306a36Sopenharmony_ci * 1562306a36Sopenharmony_ci * Types and defines in this file are either specific to version 1.0 of 1662306a36Sopenharmony_ci * this standard or common for newer versions. 1762306a36Sopenharmony_ci */ 1862306a36Sopenharmony_ci#ifndef __LINUX_USB_AUDIO_H 1962306a36Sopenharmony_ci#define __LINUX_USB_AUDIO_H 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci#include <uapi/linux/usb/audio.h> 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_cistruct usb_audio_control { 2562306a36Sopenharmony_ci struct list_head list; 2662306a36Sopenharmony_ci const char *name; 2762306a36Sopenharmony_ci u8 type; 2862306a36Sopenharmony_ci int data[5]; 2962306a36Sopenharmony_ci int (*set)(struct usb_audio_control *con, u8 cmd, int value); 3062306a36Sopenharmony_ci int (*get)(struct usb_audio_control *con, u8 cmd); 3162306a36Sopenharmony_ci}; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_cistruct usb_audio_control_selector { 3462306a36Sopenharmony_ci struct list_head list; 3562306a36Sopenharmony_ci struct list_head control; 3662306a36Sopenharmony_ci u8 id; 3762306a36Sopenharmony_ci const char *name; 3862306a36Sopenharmony_ci u8 type; 3962306a36Sopenharmony_ci struct usb_descriptor_header *desc; 4062306a36Sopenharmony_ci}; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci#endif /* __LINUX_USB_AUDIO_H */ 43