2 * Line6 Linux USB driver - 0.9.1beta
4 * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
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.
15 #include <linux/spinlock.h>
16 #include <linux/usb.h>
17 #include <linux/wait.h>
18 #include <sound/core.h>
22 #define VARIAX_STARTUP_DELAY1 1000
23 #define VARIAX_STARTUP_DELAY3 100
24 #define VARIAX_STARTUP_DELAY4 100
27 Stages of Variax startup procedure
30 VARIAX_STARTUP_INIT
= 1,
31 VARIAX_STARTUP_VERSIONREQ
,
33 VARIAX_STARTUP_ACTIVATE
,
34 VARIAX_STARTUP_WORKQUEUE
,
36 VARIAX_STARTUP_LAST
= VARIAX_STARTUP_SETUP
- 1
39 struct usb_line6_variax
{
41 Generic Line6 USB data.
43 struct usb_line6 line6
;
46 Buffer for activation code.
48 unsigned char *buffer_activate
;
51 Handler for device initializaton.
53 struct work_struct startup_work
;
56 Timers for device initializaton.
58 struct timer_list startup_timer1
;
59 struct timer_list startup_timer2
;
62 Current progress in startup procedure.
67 extern void line6_variax_disconnect(struct usb_interface
*interface
);
68 extern int line6_variax_init(struct usb_interface
*interface
,
69 struct usb_line6_variax
*variax
);
70 extern void line6_variax_process_message(struct usb_line6_variax
*variax
);