Commit 1785faac authored by Chris Bajumpaa's avatar Chris Bajumpaa Committed by Greg Kroah-Hartman

staging: line6: Add support for POD HD400 to line6usb driver

This patch adds support for the Line 6 POD HD400 to the line6usb driver.
Signed-off-by: default avatarChris Bajumpaa <cbajumpa@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 17d41165
...@@ -38,6 +38,7 @@ static const struct usb_device_id line6_id_table[] = { ...@@ -38,6 +38,7 @@ static const struct usb_device_id line6_id_table[] = {
{USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_GUITARPORT)}, {USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_GUITARPORT)},
{USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_POCKETPOD)}, {USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_POCKETPOD)},
{USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_PODHD300)}, {USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_PODHD300)},
{USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_PODHD400)},
{USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_PODHD500)}, {USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_PODHD500)},
{USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_PODSTUDIO_GX)}, {USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_PODSTUDIO_GX)},
{USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_PODSTUDIO_UX1)}, {USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_PODSTUDIO_UX1)},
...@@ -64,6 +65,7 @@ static struct line6_properties line6_properties_table[] = { ...@@ -64,6 +65,7 @@ static struct line6_properties line6_properties_table[] = {
{ LINE6_BIT_GUITARPORT, "GuitarPort", "GuitarPort", LINE6_BIT_PCM }, { LINE6_BIT_GUITARPORT, "GuitarPort", "GuitarPort", LINE6_BIT_PCM },
{ LINE6_BIT_POCKETPOD, "PocketPOD", "Pocket POD", LINE6_BIT_CONTROL }, { LINE6_BIT_POCKETPOD, "PocketPOD", "Pocket POD", LINE6_BIT_CONTROL },
{ LINE6_BIT_PODHD300, "PODHD300", "POD HD300", LINE6_BIT_CONTROL_PCM_HWMON }, { LINE6_BIT_PODHD300, "PODHD300", "POD HD300", LINE6_BIT_CONTROL_PCM_HWMON },
{ LINE6_BIT_PODHD400, "PODHD400", "POD HD400", LINE6_BIT_CONTROL_PCM_HWMON },
{ LINE6_BIT_PODHD500, "PODHD500", "POD HD500", LINE6_BIT_CONTROL_PCM_HWMON }, { LINE6_BIT_PODHD500, "PODHD500", "POD HD500", LINE6_BIT_CONTROL_PCM_HWMON },
{ LINE6_BIT_PODSTUDIO_GX, "PODStudioGX", "POD Studio GX", LINE6_BIT_PCM }, { LINE6_BIT_PODSTUDIO_GX, "PODStudioGX", "POD Studio GX", LINE6_BIT_PCM },
{ LINE6_BIT_PODSTUDIO_UX1, "PODStudioUX1", "POD Studio UX1", LINE6_BIT_PCM }, { LINE6_BIT_PODSTUDIO_UX1, "PODStudioUX1", "POD Studio UX1", LINE6_BIT_PCM },
...@@ -352,6 +354,7 @@ static void line6_data_received(struct urb *urb) ...@@ -352,6 +354,7 @@ static void line6_data_received(struct urb *urb)
break; break;
case LINE6_DEVID_PODHD300: case LINE6_DEVID_PODHD300:
case LINE6_DEVID_PODHD400:
case LINE6_DEVID_PODHD500: case LINE6_DEVID_PODHD500:
break; /* let userspace handle MIDI */ break; /* let userspace handle MIDI */
...@@ -684,6 +687,7 @@ static int line6_probe(struct usb_interface *interface, ...@@ -684,6 +687,7 @@ static int line6_probe(struct usb_interface *interface,
case LINE6_DEVID_PODXT: case LINE6_DEVID_PODXT:
case LINE6_DEVID_PODXTPRO: case LINE6_DEVID_PODXTPRO:
case LINE6_DEVID_PODHD300: case LINE6_DEVID_PODHD300:
case LINE6_DEVID_PODHD400:
alternate = 5; alternate = 5;
break; break;
...@@ -738,6 +742,7 @@ static int line6_probe(struct usb_interface *interface, ...@@ -738,6 +742,7 @@ static int line6_probe(struct usb_interface *interface,
break; break;
case LINE6_DEVID_PODHD300: case LINE6_DEVID_PODHD300:
case LINE6_DEVID_PODHD400:
size = sizeof(struct usb_line6_podhd); size = sizeof(struct usb_line6_podhd);
ep_read = 0x84; ep_read = 0x84;
ep_write = 0x03; ep_write = 0x03;
...@@ -896,6 +901,7 @@ static int line6_probe(struct usb_interface *interface, ...@@ -896,6 +901,7 @@ static int line6_probe(struct usb_interface *interface,
break; break;
case LINE6_DEVID_PODHD300: case LINE6_DEVID_PODHD300:
case LINE6_DEVID_PODHD400:
case LINE6_DEVID_PODHD500: case LINE6_DEVID_PODHD500:
ret = line6_podhd_init(interface, ret = line6_podhd_init(interface,
(struct usb_line6_podhd *)line6); (struct usb_line6_podhd *)line6);
...@@ -1023,6 +1029,7 @@ static void line6_disconnect(struct usb_interface *interface) ...@@ -1023,6 +1029,7 @@ static void line6_disconnect(struct usb_interface *interface)
break; break;
case LINE6_DEVID_PODHD300: case LINE6_DEVID_PODHD300:
case LINE6_DEVID_PODHD400:
case LINE6_DEVID_PODHD500: case LINE6_DEVID_PODHD500:
line6_podhd_disconnect(interface); line6_podhd_disconnect(interface);
break; break;
......
...@@ -436,6 +436,7 @@ int line6_init_pcm(struct usb_line6 *line6, ...@@ -436,6 +436,7 @@ int line6_init_pcm(struct usb_line6 *line6,
case LINE6_DEVID_PODXTLIVE: case LINE6_DEVID_PODXTLIVE:
case LINE6_DEVID_PODXTPRO: case LINE6_DEVID_PODXTPRO:
case LINE6_DEVID_PODHD300: case LINE6_DEVID_PODHD300:
case LINE6_DEVID_PODHD400:
ep_read = 0x82; ep_read = 0x82;
ep_write = 0x01; ep_write = 0x01;
break; break;
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#define LINE6_DEVID_GUITARPORT 0x4750 #define LINE6_DEVID_GUITARPORT 0x4750
#define LINE6_DEVID_POCKETPOD 0x5051 #define LINE6_DEVID_POCKETPOD 0x5051
#define LINE6_DEVID_PODHD300 0x5057 #define LINE6_DEVID_PODHD300 0x5057
#define LINE6_DEVID_PODHD400 0x5058
#define LINE6_DEVID_PODHD500 0x414D #define LINE6_DEVID_PODHD500 0x414D
#define LINE6_DEVID_PODSTUDIO_GX 0x4153 #define LINE6_DEVID_PODSTUDIO_GX 0x4153
#define LINE6_DEVID_PODSTUDIO_UX1 0x4150 #define LINE6_DEVID_PODSTUDIO_UX1 0x4150
...@@ -48,6 +49,7 @@ enum { ...@@ -48,6 +49,7 @@ enum {
LINE6_INDEX_GUITARPORT, LINE6_INDEX_GUITARPORT,
LINE6_INDEX_POCKETPOD, LINE6_INDEX_POCKETPOD,
LINE6_INDEX_PODHD300, LINE6_INDEX_PODHD300,
LINE6_INDEX_PODHD400,
LINE6_INDEX_PODHD500, LINE6_INDEX_PODHD500,
LINE6_INDEX_PODSTUDIO_GX, LINE6_INDEX_PODSTUDIO_GX,
LINE6_INDEX_PODSTUDIO_UX1, LINE6_INDEX_PODSTUDIO_UX1,
...@@ -68,6 +70,7 @@ enum { ...@@ -68,6 +70,7 @@ enum {
LINE6_BIT(GUITARPORT), LINE6_BIT(GUITARPORT),
LINE6_BIT(POCKETPOD), LINE6_BIT(POCKETPOD),
LINE6_BIT(PODHD300), LINE6_BIT(PODHD300),
LINE6_BIT(PODHD400),
LINE6_BIT(PODHD500), LINE6_BIT(PODHD500),
LINE6_BIT(PODSTUDIO_GX), LINE6_BIT(PODSTUDIO_GX),
LINE6_BIT(PODSTUDIO_UX1), LINE6_BIT(PODSTUDIO_UX1),
...@@ -88,7 +91,9 @@ enum { ...@@ -88,7 +91,9 @@ enum {
LINE6_BITS_PODXTALL = LINE6_BIT_PODXT | LINE6_BIT_PODXTLIVE | LINE6_BITS_PODXTALL = LINE6_BIT_PODXT | LINE6_BIT_PODXTLIVE |
LINE6_BIT_PODXTPRO, LINE6_BIT_PODXTPRO,
LINE6_BITS_PODX3ALL = LINE6_BIT_PODX3 | LINE6_BIT_PODX3LIVE, LINE6_BITS_PODX3ALL = LINE6_BIT_PODX3 | LINE6_BIT_PODX3LIVE,
LINE6_BITS_PODHDALL = LINE6_BIT_PODHD300 | LINE6_BIT_PODHD500, LINE6_BITS_PODHDALL = LINE6_BIT_PODHD300 |
LINE6_BIT_PODHD400 |
LINE6_BIT_PODHD500,
LINE6_BITS_BASSPODXTALL = LINE6_BIT_BASSPODXT | LINE6_BITS_BASSPODXTALL = LINE6_BIT_BASSPODXT |
LINE6_BIT_BASSPODXTLIVE | LINE6_BIT_BASSPODXTLIVE |
LINE6_BIT_BASSPODXTPRO LINE6_BIT_BASSPODXTPRO
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment