Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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_POCKETPOD)},
	{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_PODSTUDIO_GX)},
	{USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_PODSTUDIO_UX1)},
@@ -64,6 +65,7 @@ static struct line6_properties line6_properties_table[] = {
	{ LINE6_BIT_GUITARPORT,    "GuitarPort",    "GuitarPort",       LINE6_BIT_PCM               },
	{ LINE6_BIT_POCKETPOD,     "PocketPOD",     "Pocket POD",       LINE6_BIT_CONTROL           },
	{ 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_PODSTUDIO_GX,  "PODStudioGX",   "POD Studio GX",    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)
			break;

		case LINE6_DEVID_PODHD300:
		case LINE6_DEVID_PODHD400:
		case LINE6_DEVID_PODHD500:
			break; /* let userspace handle MIDI */

@@ -684,6 +687,7 @@ static int line6_probe(struct usb_interface *interface,
	case LINE6_DEVID_PODXT:
	case LINE6_DEVID_PODXTPRO:
	case LINE6_DEVID_PODHD300:
	case LINE6_DEVID_PODHD400:
		alternate = 5;
		break;

@@ -738,6 +742,7 @@ static int line6_probe(struct usb_interface *interface,
		break;

	case LINE6_DEVID_PODHD300:
	case LINE6_DEVID_PODHD400:
		size = sizeof(struct usb_line6_podhd);
		ep_read = 0x84;
		ep_write = 0x03;
@@ -896,6 +901,7 @@ static int line6_probe(struct usb_interface *interface,
		break;

	case LINE6_DEVID_PODHD300:
	case LINE6_DEVID_PODHD400:
	case LINE6_DEVID_PODHD500:
		ret = line6_podhd_init(interface,
				       (struct usb_line6_podhd *)line6);
@@ -1023,6 +1029,7 @@ static void line6_disconnect(struct usb_interface *interface)
			break;

		case LINE6_DEVID_PODHD300:
		case LINE6_DEVID_PODHD400:
		case LINE6_DEVID_PODHD500:
			line6_podhd_disconnect(interface);
			break;
+1 −0
Original line number Diff line number Diff line
@@ -436,6 +436,7 @@ int line6_init_pcm(struct usb_line6 *line6,
	case LINE6_DEVID_PODXTLIVE:
	case LINE6_DEVID_PODXTPRO:
	case LINE6_DEVID_PODHD300:
	case LINE6_DEVID_PODHD400:
		ep_read = 0x82;
		ep_write = 0x01;
		break;
+6 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@
#define LINE6_DEVID_GUITARPORT    0x4750
#define LINE6_DEVID_POCKETPOD     0x5051
#define LINE6_DEVID_PODHD300      0x5057
#define LINE6_DEVID_PODHD400      0x5058
#define LINE6_DEVID_PODHD500      0x414D
#define LINE6_DEVID_PODSTUDIO_GX  0x4153
#define LINE6_DEVID_PODSTUDIO_UX1 0x4150
@@ -48,6 +49,7 @@ enum {
	LINE6_INDEX_GUITARPORT,
	LINE6_INDEX_POCKETPOD,
	LINE6_INDEX_PODHD300,
	LINE6_INDEX_PODHD400,
	LINE6_INDEX_PODHD500,
	LINE6_INDEX_PODSTUDIO_GX,
	LINE6_INDEX_PODSTUDIO_UX1,
@@ -68,6 +70,7 @@ enum {
	LINE6_BIT(GUITARPORT),
	LINE6_BIT(POCKETPOD),
	LINE6_BIT(PODHD300),
	LINE6_BIT(PODHD400),
	LINE6_BIT(PODHD500),
	LINE6_BIT(PODSTUDIO_GX),
	LINE6_BIT(PODSTUDIO_UX1),
@@ -88,7 +91,9 @@ enum {
	LINE6_BITS_PODXTALL = LINE6_BIT_PODXT | LINE6_BIT_PODXTLIVE |
			      LINE6_BIT_PODXTPRO,
	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_BIT_BASSPODXTLIVE |
				  LINE6_BIT_BASSPODXTPRO