ALSA: line6: Add toneport_has_source_select()

Add a predicate for testing if the device supports source selection to
make the conditional logic around this a bit cleaner.

Signed-off-by: Chris Rorvick <chris@rorvick.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Chris Rorvick 2015-02-07 10:43:17 -06:00 committed by Takashi Iwai
parent 9b6ff3fb96
commit 89444601e5

View File

@ -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);