blob: c2adee3779a0dba8d3eb7c1d45d7afcff985ded1 [file] [log] [blame]
Markus Grabner705ecec2009-02-27 19:43:04 -08001/*
Markus Grabner1027f4762010-08-12 01:35:30 +02002 * Line6 Linux USB driver - 0.9.0
Markus Grabner705ecec2009-02-27 19:43:04 -08003 *
Markus Grabner1027f4762010-08-12 01:35:30 +02004 * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
Markus Grabner705ecec2009-02-27 19:43:04 -08005 *
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
Markus Grabner705ecec2009-02-27 19:43:04 -080016#include <linux/usb.h>
17#include <sound/core.h>
18
Markus Grabner1027f4762010-08-12 01:35:30 +020019#include "driver.h"
20
Markus Grabner705ecec2009-02-27 19:43:04 -080021
22struct usb_line6_toneport {
23 /**
Markus Grabner1027f4762010-08-12 01:35:30 +020024 Generic Line6 USB data.
Markus Grabner705ecec2009-02-27 19:43:04 -080025 */
26 struct usb_line6 line6;
27
28 /**
Markus Grabner1027f4762010-08-12 01:35:30 +020029 Source selector.
30 */
31 int source;
32
33 /**
34 Serial number of device.
Markus Grabner705ecec2009-02-27 19:43:04 -080035 */
36 int serial_number;
37
38 /**
Markus Grabner1027f4762010-08-12 01:35:30 +020039 Firmware version (x 100).
Markus Grabner705ecec2009-02-27 19:43:04 -080040 */
41 int firmware_version;
Markus Grabner1027f4762010-08-12 01:35:30 +020042
43 /**
44 Timer for delayed PCM startup.
45 */
46 struct timer_list timer;
Markus Grabner705ecec2009-02-27 19:43:04 -080047};
48
49
Markus Grabner1027f4762010-08-12 01:35:30 +020050extern void line6_toneport_disconnect(struct usb_interface *interface);
51extern int line6_toneport_init(struct usb_interface *interface,
52 struct usb_line6_toneport *toneport);
53extern void line6_toneport_reset_resume(struct usb_line6_toneport *toneport);
Markus Grabner705ecec2009-02-27 19:43:04 -080054
55
56#endif