summaryrefslogtreecommitdiff
path: root/drivers/staging/line6/variax.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/line6/variax.h')
-rw-r--r--drivers/staging/line6/variax.h28
1 files changed, 19 insertions, 9 deletions
diff --git a/drivers/staging/line6/variax.h b/drivers/staging/line6/variax.h
index 12cb5f21706c..e2999ab41b08 100644
--- a/drivers/staging/line6/variax.h
+++ b/drivers/staging/line6/variax.h
@@ -1,5 +1,5 @@
/*
- * Line6 Linux USB driver - 0.9.0
+ * Line6 Linux USB driver - 0.9.1beta
*
* Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
*
@@ -12,7 +12,6 @@
#ifndef VARIAX_H
#define VARIAX_H
-
#include <linux/spinlock.h>
#include <linux/usb.h>
#include <linux/wait.h>
@@ -21,11 +20,23 @@
#include "driver.h"
#include "dumprequest.h"
-
#define VARIAX_STARTUP_DELAY1 1000
#define VARIAX_STARTUP_DELAY3 100
#define VARIAX_STARTUP_DELAY4 100
+/*
+ Stages of Variax startup procedure
+*/
+enum {
+ VARIAX_STARTUP_INIT = 1,
+ VARIAX_STARTUP_VERSIONREQ,
+ VARIAX_STARTUP_WAIT,
+ VARIAX_STARTUP_ACTIVATE,
+ VARIAX_STARTUP_DUMPREQ,
+ VARIAX_STARTUP_WORKQUEUE,
+ VARIAX_STARTUP_SETUP,
+ VARIAX_STARTUP_LAST = VARIAX_STARTUP_SETUP - 1
+};
enum {
VARIAX_DUMP_PASS1 = LINE6_DUMP_CURRENT,
@@ -33,7 +44,6 @@ enum {
VARIAX_DUMP_PASS3
};
-
/**
Binary Variax model dump
*/
@@ -59,7 +69,8 @@ struct usb_line6_variax {
Dump request structure.
Append two extra buffers for 3-pass data query.
*/
- struct line6_dump_request dumpreq; struct line6_dump_reqbuf extrabuf[2];
+ struct line6_dump_request dumpreq;
+ struct line6_dump_reqbuf extrabuf[2];
/**
Buffer for activation code.
@@ -102,9 +113,10 @@ struct usb_line6_variax {
struct work_struct startup_work;
/**
- Timer for device initializaton.
+ Timers for device initializaton.
*/
- struct timer_list startup_timer;
+ struct timer_list startup_timer1;
+ struct timer_list startup_timer2;
/**
Current progress in startup procedure.
@@ -112,11 +124,9 @@ struct usb_line6_variax {
int startup_progress;
};
-
extern void line6_variax_disconnect(struct usb_interface *interface);
extern int line6_variax_init(struct usb_interface *interface,
struct usb_line6_variax *variax);
extern void line6_variax_process_message(struct usb_line6_variax *variax);
-
#endif