summaryrefslogtreecommitdiff
path: root/sound/usb/line6/driver.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2015-01-15 10:22:31 +0300
committerTakashi Iwai <tiwai@suse.de>2015-01-20 10:14:17 +0300
commitccddbe4a99536154e61d16c0f1c2df8a6d63f52a (patch)
tree440dbf9f275211e88b7594834041330f1ba2fb2b /sound/usb/line6/driver.h
parent0f2524b347b1ce16ce6a34cb194445e25bc6ae42 (diff)
downloadlinux-ccddbe4a99536154e61d16c0f1c2df8a6d63f52a.tar.xz
ALSA: line6: Split to each driver
Split to each individual driver for POD, PODHD, TonePort and Variax with a core LINE6 helper module. The new modules follow the standard ALSA naming rule with snd prefix: snd-usb-pod, snd-usb-podhd, snd-usb-toneport and snd-usb-variax, together with the corresponding CONFIG_SND_USB_* Kconfig items. Tested-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/line6/driver.h')
-rw-r--r--sound/usb/line6/driver.h39
1 files changed, 11 insertions, 28 deletions
diff --git a/sound/usb/line6/driver.h b/sound/usb/line6/driver.h
index ad203f197e80..31cd318369e9 100644
--- a/sound/usb/line6/driver.h
+++ b/sound/usb/line6/driver.h
@@ -20,29 +20,6 @@
#define DRIVER_NAME "line6usb"
-enum line6_device_type {
- LINE6_BASSPODXT,
- LINE6_BASSPODXTLIVE,
- LINE6_BASSPODXTPRO,
- LINE6_GUITARPORT,
- LINE6_POCKETPOD,
- LINE6_PODHD300,
- LINE6_PODHD400,
- LINE6_PODHD500_0,
- LINE6_PODHD500_1,
- LINE6_PODSTUDIO_GX,
- LINE6_PODSTUDIO_UX1,
- LINE6_PODSTUDIO_UX2,
- LINE6_PODXT,
- LINE6_PODXTLIVE_POD,
- LINE6_PODXTLIVE_VARIAX,
- LINE6_PODXTPRO,
- LINE6_TONEPORT_GX,
- LINE6_TONEPORT_UX1,
- LINE6_TONEPORT_UX2,
- LINE6_VARIAX
-};
-
#define LINE6_TIMEOUT 1
#define LINE6_BUFSIZE_LISTEN 32
#define LINE6_MESSAGE_MAXLEN 256
@@ -135,11 +112,6 @@ struct usb_line6 {
struct usb_device *usbdev;
/**
- Device type.
- */
- enum line6_device_type type;
-
- /**
Properties.
*/
const struct line6_properties *properties;
@@ -225,4 +197,15 @@ extern int line6_version_request_async(struct usb_line6 *line6);
extern int line6_write_data(struct usb_line6 *line6, int address, void *data,
size_t datalen);
+int line6_probe(struct usb_interface *interface,
+ struct usb_line6 *line6,
+ const struct line6_properties *properties,
+ int (*private_init)(struct usb_interface *, struct usb_line6 *));
+void line6_disconnect(struct usb_interface *interface);
+
+#ifdef CONFIG_PM
+int line6_suspend(struct usb_interface *interface, pm_message_t message);
+int line6_resume(struct usb_interface *interface);
+#endif
+
#endif