ALSA: line6: add support for POD HD500X
authorHans P. Möller Ebner <hmoller@uc.cl>
Fri, 16 Jun 2017 18:14:16 +0000 (14:14 -0400)
committerTakashi Iwai <tiwai@suse.de>
Tue, 20 Jun 2017 05:51:13 +0000 (07:51 +0200)
Add support for the Line6 POD HD500X multi effect processor for
playback and capture (in/out audio) through USB.

Signed-off-by: Hans P. Moller <hmoller@uc.cl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/line6/podhd.c

index 6ab23e5aee71edf7cbd29192a60219a4d65bba4d..e9b8122c4fe5617de07fe4788cb5cec682685a7c 100644 (file)
@@ -3,6 +3,7 @@
  *
  * Copyright (C) 2011 Stefan Hajnoczi <stefanha@gmail.com>
  * Copyright (C) 2015 Andrej Krutak <dev@andree.sk>
+ * Copyright (C) 2017 Hans P. Moller <hmoller@uc.cl>
  *
  *     This program is free software; you can redistribute it and/or
  *     modify it under the terms of the GNU General Public License as
@@ -37,7 +38,8 @@ enum {
        LINE6_PODHD500_0,
        LINE6_PODHD500_1,
        LINE6_PODX3,
-       LINE6_PODX3LIVE
+       LINE6_PODX3LIVE,
+       LINE6_PODHD500X
 };
 
 struct usb_line6_podhd {
@@ -372,6 +374,7 @@ static const struct usb_device_id podhd_id_table[] = {
        { LINE6_IF_NUM(0x414D, 1), .driver_info = LINE6_PODHD500_1 },
        { LINE6_IF_NUM(0x414A, 0), .driver_info = LINE6_PODX3 },
        { LINE6_IF_NUM(0x414B, 0), .driver_info = LINE6_PODX3LIVE },
+       { LINE6_IF_NUM(0x4159, 0), .driver_info = LINE6_PODHD500X },
        {}
 };
 
@@ -446,6 +449,18 @@ static const struct line6_properties podhd_properties_table[] = {
                .ep_audio_r = 0x86,
                .ep_audio_w = 0x02,
        },
+       [LINE6_PODHD500X] = {
+               .id = "PODHD500X",
+               .name = "POD HD500X",
+               .capabilities   = LINE6_CAP_CONTROL
+                               | LINE6_CAP_PCM | LINE6_CAP_HWMON,
+               .altsetting = 1,
+               .ep_ctrl_r = 0x81,
+               .ep_ctrl_w = 0x01,
+               .ctrl_if = 1,
+               .ep_audio_r = 0x86,
+               .ep_audio_w = 0x02,
+       },
 };
 
 /*