The Line 6 TonePort KB37 is a device with the same ports as the TonePort UX2, but with a MIDI keyboard onboard.
It can use the same driver as the UX2, it just needed to be enabled.
-Seth Poulsen
diff --git a/sound/usb/line6/toneport.c b/sound/usb/line6/toneport.c
index d0a555dbe324..a78b7b3cc6ce 100644
--- a/sound/usb/line6/toneport.c
+++ b/sound/usb/line6/toneport.c
@@ -26,6 +26,7 @@ enum line6_device_type {
LINE6_TONEPORT_GX,
LINE6_TONEPORT_UX1,
LINE6_TONEPORT_UX2,
+ LINE6_TONEPORT_KB37,
};
struct usb_line6_toneport;
@@ -344,6 +345,7 @@ static bool toneport_has_source_select(struct usb_line6_toneport *toneport)
switch (toneport->type) {
case LINE6_TONEPORT_UX1:
case LINE6_TONEPORT_UX2:
+ case LINE6_TONEPORT_KB37:
case LINE6_PODSTUDIO_UX1:
case LINE6_PODSTUDIO_UX2:
return true;
@@ -481,6 +483,7 @@ static const struct usb_device_id toneport_id_table[] = {
{ LINE6_DEVICE(0x4147), .driver_info = LINE6_TONEPORT_GX },
{ LINE6_DEVICE(0x4141), .driver_info = LINE6_TONEPORT_UX1 },
{ LINE6_IF_NUM(0x4142, 0), .driver_info = LINE6_TONEPORT_UX2 },
+ { LINE6_IF_NUM(0x4143, 0), .driver_info = LINE6_TONEPORT_KB37 },
{}
};
@@ -550,6 +553,15 @@ static const struct line6_properties toneport_properties_table[] = {
.ep_audio_r = 0x82,
.ep_audio_w = 0x01,
},
+ [LINE6_TONEPORT_KB37] = {
+ .id = "TonePortKB37",
+ .name = "TonePort KB37",
+ .capabilities = LINE6_CAP_PCM,
+ .altsetting = 2, /* defaults to 44.1kHz, 16-bit */
+ /* no control channel */
+ .ep_audio_r = 0x82,
+ .ep_audio_w = 0x01,
+ },
};
/*