blob: 8576b72636487ae0aa01e9ca8fe33af8ccfce792 [file] [log] [blame]
Markus Grabner705ecec2009-02-27 19:43:04 -08001/*
Markus Grabnere1a164d2010-08-23 01:08:25 +02002 * Line6 Linux USB driver - 0.9.1beta
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
Markus Grabner705ecec2009-02-27 19:43:04 -080015#include <linux/usb.h>
16#include <sound/core.h>
17
Markus Grabner1027f4762010-08-12 01:35:30 +020018#include "driver.h"
19
Markus Grabner705ecec2009-02-27 19:43:04 -080020struct usb_line6_toneport {
21 /**
Markus Grabner1027f4762010-08-12 01:35:30 +020022 Generic Line6 USB data.
Markus Grabner705ecec2009-02-27 19:43:04 -080023 */
24 struct usb_line6 line6;
25
26 /**
Markus Grabner1027f4762010-08-12 01:35:30 +020027 Source selector.
28 */
29 int source;
30
31 /**
32 Serial number of device.
Markus Grabner705ecec2009-02-27 19:43:04 -080033 */
34 int serial_number;
35
36 /**
Markus Grabner1027f4762010-08-12 01:35:30 +020037 Firmware version (x 100).
Markus Grabner705ecec2009-02-27 19:43:04 -080038 */
39 int firmware_version;
Markus Grabner1027f4762010-08-12 01:35:30 +020040
41 /**
42 Timer for delayed PCM startup.
43 */
44 struct timer_list timer;
Markus Grabner705ecec2009-02-27 19:43:04 -080045};
46
Markus Grabner1027f4762010-08-12 01:35:30 +020047extern 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);
Markus Grabner705ecec2009-02-27 19:43:04 -080051
Markus Grabner705ecec2009-02-27 19:43:04 -080052#endif