diff options
author | Markus Grabner <grabner@icg.tugraz.at> | 2010-08-12 01:35:30 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-08-31 15:28:15 -0700 |
commit | 1027f476f507ef7ed9919cd3e3d32310f3985da1 (patch) | |
tree | 5f0da58a5bc15338c71e848693a5ae259b97a207 /drivers/staging/line6/variax.h | |
parent | 4498dbcd2d85b67e9f46790bcfee5860d2dd1762 (diff) |
staging: line6: sync with upstream
Big upstream sync.
Signed-off-by: Markus Grabner <grabner@icg.tugraz.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/line6/variax.h')
-rw-r--r-- | drivers/staging/line6/variax.h | 64 |
1 files changed, 39 insertions, 25 deletions
diff --git a/drivers/staging/line6/variax.h b/drivers/staging/line6/variax.h index ee330ba3089..12cb5f21706 100644 --- a/drivers/staging/line6/variax.h +++ b/drivers/staging/line6/variax.h @@ -1,7 +1,7 @@ /* - * Line6 Linux USB driver - 0.8.0 + * Line6 Linux USB driver - 0.9.0 * - * Copyright (C) 2004-2009 Markus Grabner (grabner@icg.tugraz.at) + * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -13,19 +13,18 @@ #define VARIAX_H -#include "driver.h" - #include <linux/spinlock.h> #include <linux/usb.h> #include <linux/wait.h> - #include <sound/core.h> +#include "driver.h" #include "dumprequest.h" -#define VARIAX_ACTIVATE_DELAY 10 -#define VARIAX_STARTUP_DELAY 3 +#define VARIAX_STARTUP_DELAY1 1000 +#define VARIAX_STARTUP_DELAY3 100 +#define VARIAX_STARTUP_DELAY4 100 enum { @@ -36,73 +35,88 @@ enum { /** - Binary Variax model dump + Binary Variax model dump */ struct variax_model { /** - Header information (including program name). + Header information (including program name). */ unsigned char name[18]; /** - Model parameters. + Model parameters. */ unsigned char control[78 * 2]; }; struct usb_line6_variax { /** - Generic Line6 USB data. + Generic Line6 USB data. */ struct usb_line6 line6; /** - Dump request structure. - Append two extra buffers for 3-pass data query. + Dump request structure. + Append two extra buffers for 3-pass data query. */ struct line6_dump_request dumpreq; struct line6_dump_reqbuf extrabuf[2]; /** - Buffer for activation code. + Buffer for activation code. */ unsigned char *buffer_activate; /** - Model number. + Model number. */ int model; /** - Current model settings. + Current model settings. */ struct variax_model model_data; /** - Name of current model bank. + Name of connected guitar. + */ + unsigned char guitar[18]; + + /** + Name of current model bank. */ unsigned char bank[18]; /** - Position of volume dial. + Position of volume dial. */ int volume; /** - Position of tone control dial. + Position of tone control dial. */ int tone; /** - Timer for delayed activation request. + Handler for device initializaton. + */ + struct work_struct startup_work; + + /** + Timer for device initializaton. + */ + struct timer_list startup_timer; + + /** + Current progress in startup procedure. */ - struct timer_list activate_timer; + int startup_progress; }; -extern void variax_disconnect(struct usb_interface *interface); -extern int variax_init(struct usb_interface *interface, - struct usb_line6_variax *variax); -extern void variax_process_message(struct usb_line6_variax *variax); +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 |