mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 05:44:11 +00:00
ALSA: scarlett2: Infer standalone switch from config items
Rather than assuming the standalone switch is present for all devices with a mixer, instead check for the presence of the SCARLETT2_CONFIG_STANDALONE_SWITCH config item. Signed-off-by: Geoffrey D. Bennett <g@b4.vu> Link: https://lore.kernel.org/r/59c30885b02d65feaab2c338cf46889d72d01813.1703444932.git.g@b4.vu Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
3a4e1afe7d
commit
3978fefdf4
1 changed files with 10 additions and 6 deletions
|
@ -4244,7 +4244,8 @@ static int scarlett2_add_standalone_ctl(struct usb_mixer_interface *mixer)
|
|||
{
|
||||
struct scarlett2_data *private = mixer->private_data;
|
||||
|
||||
if (private->info->config_set == SCARLETT2_CONFIG_SET_GEN_3A)
|
||||
if (!scarlett2_has_config_item(private,
|
||||
SCARLETT2_CONFIG_STANDALONE_SWITCH))
|
||||
return 0;
|
||||
|
||||
/* Add standalone control */
|
||||
|
@ -4512,11 +4513,14 @@ static int scarlett2_read_configs(struct usb_mixer_interface *mixer)
|
|||
if (info->config_set == SCARLETT2_CONFIG_SET_GEN_3A)
|
||||
return 0;
|
||||
|
||||
err = scarlett2_usb_get_config(
|
||||
mixer, SCARLETT2_CONFIG_STANDALONE_SWITCH,
|
||||
1, &private->standalone_switch);
|
||||
if (err < 0)
|
||||
return err;
|
||||
if (scarlett2_has_config_item(private,
|
||||
SCARLETT2_CONFIG_STANDALONE_SWITCH)) {
|
||||
err = scarlett2_usb_get_config(
|
||||
mixer, SCARLETT2_CONFIG_STANDALONE_SWITCH,
|
||||
1, &private->standalone_switch);
|
||||
if (err < 0)
|
||||
return err;
|
||||
}
|
||||
|
||||
err = scarlett2_update_sync(mixer);
|
||||
if (err < 0)
|
||||
|
|
Loading…
Reference in a new issue