Lines Matching refs:private
571 static void scarlett2_fill_request_header(struct scarlett2_mixer_data *private, in scarlett2_fill_request_header() argument
576 u16 seq = private->scarlett2_seq++; in scarlett2_fill_request_header()
590 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_usb() local
608 mutex_lock(&private->usb_mutex); in scarlett2_usb()
612 scarlett2_fill_request_header(private, req, cmd, req_size); in scarlett2_usb()
680 mutex_unlock(&private->usb_mutex); in scarlett2_usb()
700 struct scarlett2_mixer_data *private = in scarlett2_config_save_work() local
703 scarlett2_config_save(private->mixer); in scarlett2_config_save_work()
722 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_usb_set_config() local
725 cancel_delayed_work_sync(&private->work); in scarlett2_usb_set_config()
745 schedule_delayed_work(&private->work, msecs_to_jiffies(2000)); in scarlett2_usb_set_config()
793 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_usb_set_mix() local
794 const struct scarlett2_device_info *info = private->info; in scarlett2_usb_set_mix()
809 scarlett2_mixer_values[private->mix[j]] in scarlett2_usb_set_mix()
838 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_usb_set_mux() local
839 const struct scarlett2_device_info *info = private->info; in scarlett2_usb_set_mux()
890 ports, private->mux[j] in scarlett2_usb_set_mux()
988 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_update_volumes() local
989 const struct scarlett2_ports *ports = private->info->ports; in scarlett2_update_volumes()
995 private->vol_updated = 0; in scarlett2_update_volumes()
1001 private->master_vol = clamp( in scarlett2_update_volumes()
1006 if (private->vol_sw_hw_switch[i]) in scarlett2_update_volumes()
1007 private->vol[i] = private->master_vol; in scarlett2_update_volumes()
1010 for (i = 0; i < private->info->button_count; i++) in scarlett2_update_volumes()
1011 private->buttons[i] = !!volume_status.buttons[i]; in scarlett2_update_volumes()
1034 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_master_volume_ctl_get() local
1036 mutex_lock(&private->data_mutex); in scarlett2_master_volume_ctl_get()
1037 if (private->vol_updated) in scarlett2_master_volume_ctl_get()
1039 mutex_unlock(&private->data_mutex); in scarlett2_master_volume_ctl_get()
1041 ucontrol->value.integer.value[0] = private->master_vol; in scarlett2_master_volume_ctl_get()
1050 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_volume_ctl_get() local
1053 mutex_lock(&private->data_mutex); in scarlett2_volume_ctl_get()
1054 if (private->vol_updated) in scarlett2_volume_ctl_get()
1056 mutex_unlock(&private->data_mutex); in scarlett2_volume_ctl_get()
1058 ucontrol->value.integer.value[0] = private->vol[index]; in scarlett2_volume_ctl_get()
1067 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_volume_ctl_put() local
1071 mutex_lock(&private->data_mutex); in scarlett2_volume_ctl_put()
1073 oval = private->vol[index]; in scarlett2_volume_ctl_put()
1079 private->vol[index] = val; in scarlett2_volume_ctl_put()
1086 mutex_unlock(&private->data_mutex); in scarlett2_volume_ctl_put()
1133 struct scarlett2_mixer_data *private = elem->head.mixer->private_data; in scarlett2_sw_hw_enum_ctl_get() local
1136 private->vol_sw_hw_switch[elem->control]; in scarlett2_sw_hw_enum_ctl_get()
1145 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_sw_hw_enum_ctl_put() local
1150 mutex_lock(&private->data_mutex); in scarlett2_sw_hw_enum_ctl_put()
1152 oval = private->vol_sw_hw_switch[index]; in scarlett2_sw_hw_enum_ctl_put()
1158 private->vol_sw_hw_switch[index] = val; in scarlett2_sw_hw_enum_ctl_put()
1164 private->vol_ctls[index]->vd[0].access &= in scarlett2_sw_hw_enum_ctl_put()
1167 private->vol_ctls[index]->vd[0].access |= in scarlett2_sw_hw_enum_ctl_put()
1171 private->vol[index] = private->master_vol; in scarlett2_sw_hw_enum_ctl_put()
1176 index, private->master_vol - SCARLETT2_VOLUME_BIAS); in scarlett2_sw_hw_enum_ctl_put()
1182 &private->vol_ctls[index]->id); in scarlett2_sw_hw_enum_ctl_put()
1191 mutex_unlock(&private->data_mutex); in scarlett2_sw_hw_enum_ctl_put()
1219 struct scarlett2_mixer_data *private = elem->head.mixer->private_data; in scarlett2_level_enum_ctl_get() local
1222 private->level_switch[elem->control]; in scarlett2_level_enum_ctl_get()
1231 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_level_enum_ctl_put() local
1236 mutex_lock(&private->data_mutex); in scarlett2_level_enum_ctl_put()
1238 oval = private->level_switch[index]; in scarlett2_level_enum_ctl_put()
1244 private->level_switch[index] = val; in scarlett2_level_enum_ctl_put()
1253 mutex_unlock(&private->data_mutex); in scarlett2_level_enum_ctl_put()
1271 struct scarlett2_mixer_data *private = elem->head.mixer->private_data; in scarlett2_pad_ctl_get() local
1274 private->pad_switch[elem->control]; in scarlett2_pad_ctl_get()
1283 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_pad_ctl_put() local
1288 mutex_lock(&private->data_mutex); in scarlett2_pad_ctl_put()
1290 oval = private->pad_switch[index]; in scarlett2_pad_ctl_put()
1296 private->pad_switch[index] = val; in scarlett2_pad_ctl_put()
1305 mutex_unlock(&private->data_mutex); in scarlett2_pad_ctl_put()
1324 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_button_ctl_get() local
1326 mutex_lock(&private->data_mutex); in scarlett2_button_ctl_get()
1327 if (private->vol_updated) in scarlett2_button_ctl_get()
1329 mutex_unlock(&private->data_mutex); in scarlett2_button_ctl_get()
1331 ucontrol->value.enumerated.item[0] = private->buttons[elem->control]; in scarlett2_button_ctl_get()
1340 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_button_ctl_put() local
1345 mutex_lock(&private->data_mutex); in scarlett2_button_ctl_put()
1347 oval = private->buttons[index]; in scarlett2_button_ctl_put()
1353 private->buttons[index] = val; in scarlett2_button_ctl_put()
1362 mutex_unlock(&private->data_mutex); in scarlett2_button_ctl_put()
1378 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_add_line_out_ctls() local
1379 const struct scarlett2_device_info *info = private->info; in scarlett2_add_line_out_ctls()
1391 0, 1, s, &private->master_vol_ctl); in scarlett2_add_line_out_ctls()
1410 i, 1, s, &private->vol_ctls[i]); in scarlett2_add_line_out_ctls()
1415 if (private->vol_sw_hw_switch[i]) in scarlett2_add_line_out_ctls()
1416 private->vol_ctls[i]->vd[0].access &= in scarlett2_add_line_out_ctls()
1433 for (i = 0; i < private->info->button_count; i++) { in scarlett2_add_line_out_ctls()
1436 &private->button_ctls[i]); in scarlett2_add_line_out_ctls()
1448 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_add_line_in_ctls() local
1449 const struct scarlett2_device_info *info = private->info; in scarlett2_add_line_in_ctls()
1493 struct scarlett2_mixer_data *private = elem->head.mixer->private_data; in scarlett2_mixer_ctl_get() local
1495 ucontrol->value.integer.value[0] = private->mix[elem->control]; in scarlett2_mixer_ctl_get()
1504 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_mixer_ctl_put() local
1505 const struct scarlett2_device_info *info = private->info; in scarlett2_mixer_ctl_put()
1509 mutex_lock(&private->data_mutex); in scarlett2_mixer_ctl_put()
1511 oval = private->mix[elem->control]; in scarlett2_mixer_ctl_put()
1519 private->mix[elem->control] = val; in scarlett2_mixer_ctl_put()
1525 mutex_unlock(&private->data_mutex); in scarlett2_mixer_ctl_put()
1549 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_add_mixer_ctls() local
1550 const struct scarlett2_ports *ports = private->info->ports; in scarlett2_add_mixer_ctls()
1579 struct scarlett2_mixer_data *private = elem->head.mixer->private_data; in scarlett2_mux_src_enum_ctl_info() local
1580 const struct scarlett2_ports *ports = private->info->ports; in scarlett2_mux_src_enum_ctl_info()
1582 int items = private->num_mux_srcs; in scarlett2_mux_src_enum_ctl_info()
1611 struct scarlett2_mixer_data *private = elem->head.mixer->private_data; in scarlett2_mux_src_enum_ctl_get() local
1613 ucontrol->value.enumerated.item[0] = private->mux[elem->control]; in scarlett2_mux_src_enum_ctl_get()
1622 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_mux_src_enum_ctl_put() local
1626 mutex_lock(&private->data_mutex); in scarlett2_mux_src_enum_ctl_put()
1628 oval = private->mux[index]; in scarlett2_mux_src_enum_ctl_put()
1630 0L, private->num_mux_srcs - 1L); in scarlett2_mux_src_enum_ctl_put()
1635 private->mux[index] = val; in scarlett2_mux_src_enum_ctl_put()
1641 mutex_unlock(&private->data_mutex); in scarlett2_mux_src_enum_ctl_put()
1655 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_add_mux_enums() local
1656 const struct scarlett2_ports *ports = private->info->ports; in scarlett2_add_mux_enums()
1734 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_private_free() local
1736 cancel_delayed_work_sync(&private->work); in scarlett2_private_free()
1737 kfree(private); in scarlett2_private_free()
1743 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_private_suspend() local
1745 if (cancel_delayed_work_sync(&private->work)) in scarlett2_private_suspend()
1746 scarlett2_config_save(private->mixer); in scarlett2_private_suspend()
1820 struct scarlett2_mixer_data *private = in scarlett2_init_private() local
1823 if (!private) in scarlett2_init_private()
1826 mutex_init(&private->usb_mutex); in scarlett2_init_private()
1827 mutex_init(&private->data_mutex); in scarlett2_init_private()
1828 INIT_DELAYED_WORK(&private->work, scarlett2_config_save_work); in scarlett2_init_private()
1829 private->info = info; in scarlett2_init_private()
1830 private->num_mux_srcs = scarlett2_count_mux_srcs(info->ports); in scarlett2_init_private()
1831 private->scarlett2_seq = 0; in scarlett2_init_private()
1832 private->mixer = mixer; in scarlett2_init_private()
1833 mixer->private_data = private; in scarlett2_init_private()
1838 scarlett2_init_routing(private->mux, info->ports); in scarlett2_init_private()
1847 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_read_configs() local
1848 const struct scarlett2_device_info *info = private->info; in scarlett2_read_configs()
1866 private->level_switch[i] = level_switches[i]; in scarlett2_read_configs()
1878 private->pad_switch[i] = pad_switches[i]; in scarlett2_read_configs()
1885 private->master_vol = clamp( in scarlett2_read_configs()
1892 private->vol_sw_hw_switch[i] = in scarlett2_read_configs()
1896 volume = private->vol_sw_hw_switch[i] in scarlett2_read_configs()
1901 private->vol[i] = volume; in scarlett2_read_configs()
1905 private->buttons[i] = !!volume_status.buttons[i]; in scarlett2_read_configs()
1914 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_mixer_interrupt_vol_change() local
1915 const struct scarlett2_ports *ports = private->info->ports; in scarlett2_mixer_interrupt_vol_change()
1920 private->vol_updated = 1; in scarlett2_mixer_interrupt_vol_change()
1923 &private->master_vol_ctl->id); in scarlett2_mixer_interrupt_vol_change()
1926 if (!private->vol_sw_hw_switch[i]) in scarlett2_mixer_interrupt_vol_change()
1929 &private->vol_ctls[i]->id); in scarlett2_mixer_interrupt_vol_change()
1937 struct scarlett2_mixer_data *private = mixer->private_data; in scarlett2_mixer_interrupt_button_change() local
1940 private->vol_updated = 1; in scarlett2_mixer_interrupt_button_change()
1942 for (i = 0; i < private->info->button_count; i++) in scarlett2_mixer_interrupt_button_change()
1944 &private->button_ctls[i]->id); in scarlett2_mixer_interrupt_button_change()