|
@@ -343,6 +343,20 @@ static void toneport_remove_leds(struct usb_line6_toneport *toneport)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+static bool toneport_has_source_select(struct usb_line6_toneport *toneport)
|
|
|
+{
|
|
|
+ switch (toneport->type) {
|
|
|
+ case LINE6_TONEPORT_UX1:
|
|
|
+ case LINE6_TONEPORT_UX2:
|
|
|
+ case LINE6_PODSTUDIO_UX1:
|
|
|
+ case LINE6_PODSTUDIO_UX2:
|
|
|
+ return true;
|
|
|
+
|
|
|
+ default:
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
Setup Toneport device.
|
|
|
*/
|
|
@@ -360,17 +374,10 @@ static void toneport_setup(struct usb_line6_toneport *toneport)
|
|
|
toneport_send_cmd(usbdev, 0x0301, 0x0000);
|
|
|
|
|
|
/* initialize source select: */
|
|
|
- switch (toneport->type) {
|
|
|
- case LINE6_TONEPORT_UX1:
|
|
|
- case LINE6_TONEPORT_UX2:
|
|
|
- case LINE6_PODSTUDIO_UX1:
|
|
|
- case LINE6_PODSTUDIO_UX2:
|
|
|
+ if (toneport_has_source_select(toneport))
|
|
|
toneport_send_cmd(usbdev,
|
|
|
toneport_source_info[toneport->source].code,
|
|
|
0x0000);
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
|
|
|
if (toneport_has_led(toneport->type))
|
|
|
toneport_update_led(toneport);
|
|
@@ -421,20 +428,13 @@ static int toneport_init(struct usb_line6 *line6,
|
|
|
return err;
|
|
|
|
|
|
/* register source select control: */
|
|
|
- switch (toneport->type) {
|
|
|
- case LINE6_TONEPORT_UX1:
|
|
|
- case LINE6_TONEPORT_UX2:
|
|
|
- case LINE6_PODSTUDIO_UX1:
|
|
|
- case LINE6_PODSTUDIO_UX2:
|
|
|
+ if (toneport_has_source_select(toneport)) {
|
|
|
err =
|
|
|
snd_ctl_add(line6->card,
|
|
|
snd_ctl_new1(&toneport_control_source,
|
|
|
line6->line6pcm));
|
|
|
if (err < 0)
|
|
|
return err;
|
|
|
-
|
|
|
- default:
|
|
|
- break;
|
|
|
}
|
|
|
|
|
|
line6_read_serial_number(line6, &toneport->serial_number);
|