/* which sets of configuration parameters the device uses */
const struct scarlett2_config_set_entry *config_sets;
- /* minimum firmware version required */
- u16 min_firmware_version;
-
/* has a downloadable device map */
u8 has_devmap;
{ 1769, &scarlett2_config_set_vocaster },
{ }
},
- .min_firmware_version = 1769,
.has_devmap = 1,
.phantom_count = 1,
{ 1769, &scarlett2_config_set_vocaster },
{ }
},
- .min_firmware_version = 1769,
.has_devmap = 1,
.phantom_count = 2,
{ 2115, &scarlett2_config_set_gen4_solo },
{ }
},
- .min_firmware_version = 2115,
.has_devmap = 1,
.level_input_count = 1,
{ 2115, &scarlett2_config_set_gen4_2i2 },
{ }
},
- .min_firmware_version = 2115,
.has_devmap = 1,
.level_input_count = 2,
{ 2089, &scarlett2_config_set_gen4_4i4 },
{ }
},
- .min_firmware_version = 2089,
.has_devmap = 1,
.level_input_count = 2,
struct usb_mixer_elem_info *elem = kctl->private_data;
struct scarlett2_data *private = elem->head.mixer->private_data;
- ucontrol->value.integer.value[0] = private->info->min_firmware_version;
+ ucontrol->value.integer.value[0] =
+ private->info->config_sets[0].from_firmware_version;
return 0;
}
{
struct scarlett2_data *private = mixer->private_data;
const struct scarlett2_device_info *info = private->info;
+ u16 min_firmware_version = info->config_sets[0].from_firmware_version;
int err, i;
if (scarlett2_has_config_item(private, SCARLETT2_CONFIG_MSD_SWITCH)) {
return err;
}
- if (private->firmware_version < info->min_firmware_version) {
+ if (private->firmware_version < min_firmware_version) {
usb_audio_err(mixer->chip,
"Focusrite %s firmware version %d is too old; "
"need %d",
private->series_name,
private->firmware_version,
- info->min_firmware_version);
+ min_firmware_version);
return 0;
}
const struct scarlett2_device_entry *entry)
{
struct scarlett2_data *private;
+ u16 min_firmware_version;
int err;
/* Initialise private data */
return err;
private = mixer->private_data;
+ min_firmware_version =
+ private->info->config_sets[0].from_firmware_version;
/* Send proprietary USB initialisation sequence */
err = scarlett2_usb_init(mixer);
* old, don't create any other controls
*/
if (private->msd_switch ||
- private->firmware_version < private->info->min_firmware_version)
+ private->firmware_version < min_firmware_version)
return 0;
/* Create the analogue output controls */