Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
u_uac1.h
Go to the documentation of this file.
1 /*
2  * u_uac1.h -- interface to USB gadget "ALSA AUDIO" utilities
3  *
4  * Copyright (C) 2008 Bryan Wu <[email protected]>
5  * Copyright (C) 2008 Analog Devices, Inc
6  *
7  * Enter bugs at http://blackfin.uclinux.org/
8  *
9  * Licensed under the GPL-2 or later.
10  */
11 
12 #ifndef __U_AUDIO_H
13 #define __U_AUDIO_H
14 
15 #include <linux/device.h>
16 #include <linux/err.h>
17 #include <linux/usb/audio.h>
18 #include <linux/usb/composite.h>
19 
20 #include <sound/core.h>
21 #include <sound/pcm.h>
22 #include <sound/pcm_params.h>
23 
24 #include "gadget_chips.h"
25 
26 /*
27  * This represents the USB side of an audio card device, managed by a USB
28  * function which provides control and stream interfaces.
29  */
30 
32  struct gaudio *card;
33  struct file *filp;
35  int access;
36  int format;
37  int channels;
38  int rate;
39 };
40 
41 struct gaudio {
43  struct usb_gadget *gadget;
44 
45  /* ALSA sound device interfaces */
49 
50  /* TODO */
51 };
52 
53 int gaudio_setup(struct gaudio *card);
54 void gaudio_cleanup(void);
55 
56 #endif /* __U_AUDIO_H */