ALSA: scarlett2: Default mixer driver to enabled

[ Upstream commit bc83058f598757a908b30f8f536338cb1478ab5b ]

Early versions of this mixer driver did not work on all hardware, so
out of caution the driver was disabled by default and had to be
explicitly enabled with device_setup=1.

Since commit 764fa6e686e0 ("ALSA: usb-audio: scarlett2: Fix device
hang with ehci-pci") no more problems of this nature have been
reported. Therefore, enable the driver by default but provide a new
device_setup option to disable the driver in case that is needed.

- device_setup value of 0 now means "enable" rather than "disable".
- device_setup value of 1 is now ignored.
- device_setup value of 4 now means "disable".

Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
Link: https://lore.kernel.org/r/89600a35b40307f2766578ad1ca2f21801286b58.1694705811.git.g@b4.vu
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Stable-dep-of: b61a3acada00 ("ALSA: scarlett2: Add Focusrite Clarett+ 2Pre and 4Pre support")
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Geoffrey D. Bennett 2023-09-15 03:01:57 +09:30 committed by Greg Kroah-Hartman
parent 3c1d704d92
commit 9c48e24cb7

View File

@ -145,12 +145,12 @@
#include "mixer_scarlett_gen2.h"
/* device_setup value to enable */
#define SCARLETT2_ENABLE 0x01
/* device_setup value to allow turning MSD mode back on */
#define SCARLETT2_MSD_ENABLE 0x02
/* device_setup value to disable this mixer driver */
#define SCARLETT2_DISABLE 0x04
/* some gui mixers can't handle negative ctl values */
#define SCARLETT2_VOLUME_BIAS 127
@ -4237,19 +4237,20 @@ int snd_scarlett_gen2_init(struct usb_mixer_interface *mixer)
if (!mixer->protocol)
return 0;
if (!(chip->setup & SCARLETT2_ENABLE)) {
if (chip->setup & SCARLETT2_DISABLE) {
usb_audio_info(chip,
"Focusrite Scarlett Gen 2/3 Mixer Driver disabled; "
"use options snd_usb_audio vid=0x%04x pid=0x%04x "
"device_setup=1 to enable and report any issues "
"to g@b4.vu",
"Focusrite Scarlett Gen 2/3 Mixer Driver disabled "
"by modprobe options (snd_usb_audio "
"vid=0x%04x pid=0x%04x device_setup=%d)\n",
USB_ID_VENDOR(chip->usb_id),
USB_ID_PRODUCT(chip->usb_id));
USB_ID_PRODUCT(chip->usb_id),
SCARLETT2_DISABLE);
return 0;
}
usb_audio_info(chip,
"Focusrite Scarlett Gen 2/3 Mixer Driver enabled pid=0x%04x",
"Focusrite Scarlett Gen 2/3 Mixer Driver enabled (pid=0x%04x); "
"report any issues to g@b4.vu",
USB_ID_PRODUCT(chip->usb_id));
err = snd_scarlett_gen2_controls_create(mixer);