1/*
2 * Line6 Linux USB driver - 0.9.1beta
3 *
4 * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
5 *
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#include <linux/usb.h>
16#include <sound/core.h>
17
18#include "driver.h"
19
20struct usb_line6_toneport {
21	/**
22		Generic Line6 USB data.
23	*/
24	struct usb_line6 line6;
25
26	/**
27		Source selector.
28	*/
29	int source;
30
31	/**
32		Serial number of device.
33	*/
34	int serial_number;
35
36	/**
37		Firmware version (x 100).
38	*/
39	int firmware_version;
40
41	/**
42		 Timer for delayed PCM startup.
43	*/
44	struct timer_list timer;
45};
46
47extern void line6_toneport_disconnect(struct usb_interface *interface);
48extern int line6_toneport_init(struct usb_interface *interface,
49			       struct usb_line6_toneport *toneport);
50extern void line6_toneport_reset_resume(struct usb_line6_toneport *toneport);
51
52#endif
53