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/interrupt.h>
16 #include <linux/spinlock.h>
17 #include <linux/usb.h>
19 #include <sound/core.h>
24 Locate name in binary program dump
26 #define POD_NAME_OFFSET 0
27 #define POD_NAME_LENGTH 16
32 #define POD_CONTROL_SIZE 0x80
33 #define POD_BUFSIZE_DUMPREQ 7
34 #define POD_STARTUP_DELAY 1000
37 Stages of POD startup procedure
41 POD_STARTUP_VERSIONREQ,
42 POD_STARTUP_WORKQUEUE,
44 POD_STARTUP_LAST = POD_STARTUP_SETUP - 1
47 struct usb_line6_pod {
49 Generic Line6 USB data.
51 struct usb_line6 line6;
54 Instrument monitor level.
59 Timer for device initializaton.
61 struct timer_list startup_timer;
64 Work handler for device initializaton.
66 struct work_struct startup_work;
69 Current progress in startup procedure.
74 Serial number of device.
79 Firmware version (x 100).
89 extern int line6_pod_init(struct usb_interface *interface,
90 struct usb_line6 *line6);