Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
[pandora-kernel.git] / drivers / staging / line6 / toneport.h
1 /*
2  * Line6 Linux USB driver - 0.9.1beta
3  *
4  * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
5  *
6  *      This program is free software; you can redistribute it and/or
7  *      modify it under the terms of the GNU General Public License as
8  *      published by the Free Software Foundation, version 2.
9  *
10  */
11
12 #ifndef TONEPORT_H
13 #define TONEPORT_H
14
15 #include <linux/usb.h>
16 #include <sound/core.h>
17
18 #include "driver.h"
19
20 struct usb_line6_toneport {
21         /**
22                 Generic Line6 USB data.
23         */
24         struct usb_line6 line6;
25
26         /**
27                 Source selector.
28         */
29         int source;
30
31         /**
32                 Serial number of device.
33         */
34         int serial_number;
35
36         /**
37                 Firmware version (x 100).
38         */
39         int firmware_version;
40
41         /**
42                  Timer for delayed PCM startup.
43         */
44         struct timer_list timer;
45 };
46
47 extern void line6_toneport_disconnect(struct usb_interface *interface);
48 extern int line6_toneport_init(struct usb_interface *interface,
49                                struct usb_line6_toneport *toneport);
50 extern void line6_toneport_reset_resume(struct usb_line6_toneport *toneport);
51
52 #endif