Lines Matching defs:scontrol

266 static int set_up_volume_table(struct snd_sof_control *scontrol,
269 struct snd_soc_component *scomp = scontrol->scomp;
274 return tplg_ops->control->set_up_volume_table(scontrol, tlv, size);
817 struct snd_sof_control *scontrol,
841 scontrol->comp_id = sdev->next_comp_id;
842 scontrol->min_volume_step = le32_to_cpu(mc->min);
843 scontrol->max_volume_step = le32_to_cpu(mc->max);
844 scontrol->num_channels = le32_to_cpu(mc->num_channels);
846 scontrol->max = le32_to_cpu(mc->max);
857 ret = set_up_volume_table(scontrol, tlv, le32_to_cpu(mc->max) + 1);
865 ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens,
874 if (scontrol->led_ctl.use_led) {
875 mask = scontrol->led_ctl.direction ? SNDRV_CTL_ELEM_ACCESS_MIC_LED :
877 scontrol->access &= ~SNDRV_CTL_ELEM_ACCESS_LED_MASK;
878 scontrol->access |= mask;
885 scontrol->comp_id, scontrol->num_channels);
891 kfree(scontrol->volume_table);
897 struct snd_sof_control *scontrol,
909 scontrol->comp_id = sdev->next_comp_id;
910 scontrol->num_channels = le32_to_cpu(ec->num_channels);
913 scontrol->comp_id, scontrol->num_channels, scontrol->comp_id);
919 struct snd_sof_control *scontrol,
929 scontrol->max_size = sbe->max;
930 scontrol->comp_id = sdev->next_comp_id;
932 dev_dbg(scomp->dev, "tplg: load kcontrol index %d\n", scontrol->comp_id);
936 scontrol->priv = kmemdup(control->priv.data, priv_size, GFP_KERNEL);
937 if (!scontrol->priv)
940 scontrol->priv_size = priv_size;
956 struct snd_sof_control *scontrol;
962 scontrol = kzalloc(sizeof(*scontrol), GFP_KERNEL);
963 if (!scontrol)
966 scontrol->name = kstrdup(hdr->name, GFP_KERNEL);
967 if (!scontrol->name) {
968 kfree(scontrol);
972 scontrol->scomp = scomp;
973 scontrol->access = kc->access;
974 scontrol->info_type = le32_to_cpu(hdr->ops.info);
975 scontrol->index = kc->index;
983 ret = sof_control_load_volume(scomp, scontrol, kc, hdr);
988 ret = sof_control_load_bytes(scomp, scontrol, kc, hdr);
994 ret = sof_control_load_enum(scomp, scontrol, kc, hdr);
1006 kfree(scontrol->name);
1007 kfree(scontrol);
1012 kfree(scontrol->name);
1013 kfree(scontrol);
1017 scontrol->led_ctl.led_value = -1;
1019 dobj->private = scontrol;
1020 list_add(&scontrol->list, &sdev->kcontrol_list);
1029 struct snd_sof_control *scontrol = dobj->private;
1032 dev_dbg(scomp->dev, "tplg: unload control name : %s\n", scontrol->name);
1035 ret = tplg_ops->control_free(sdev, scontrol);
1037 dev_err(scomp->dev, "failed to free control: %s\n", scontrol->name);
1041 kfree(scontrol->ipc_control_data);
1042 kfree(scontrol->priv);
1043 kfree(scontrol->name);
1044 list_del(&scontrol->list);
1045 kfree(scontrol);
1613 struct snd_sof_control *scontrol;
1655 scontrol = sm->dobj.private;
1657 kfree(scontrol->volume_table);
1661 scontrol = se->dobj.private;
1665 scontrol = sbe->dobj.private;
1671 kfree(scontrol->ipc_control_data);
1672 list_del(&scontrol->list);
1673 kfree(scontrol->name);
1674 kfree(scontrol);
2136 struct snd_sof_control *scontrol;
2140 list_for_each_entry(scontrol, &sdev->kcontrol_list, list)
2141 if (scontrol->comp_id == swidget->comp_id &&
2142 (scontrol->access & SNDRV_CTL_ELEM_ACCESS_VOLATILE)) {
2163 struct snd_sof_control *scontrol;
2171 list_for_each_entry(scontrol, &sdev->kcontrol_list, list) {
2172 ret = tplg_ops->control_setup(sdev, scontrol);
2175 scontrol->name);