Lines Matching full:priv
134 static void create_integer_ctl(struct sample_mixer_priv *priv, in create_integer_ctl() argument
137 struct snd_control *ctl = SAMPLE_MIXER_PRIV_GET_CTL_PTR(priv, ctl_idx); in create_integer_ctl()
145 static void create_byte_array_ctl(struct sample_mixer_priv *priv, in create_byte_array_ctl() argument
148 struct snd_control *ctl = SAMPLE_MIXER_PRIV_GET_CTL_PTR(priv, ctl_idx); in create_byte_array_ctl()
156 static void create_tlv_ctl(struct sample_mixer_priv *priv, in create_tlv_ctl() argument
159 struct snd_control *ctl = SAMPLE_MIXER_PRIV_GET_CTL_PTR(priv, ctl_idx); in create_tlv_ctl()
166 static void create_enum_ctl(struct sample_mixer_priv *priv, in create_enum_ctl() argument
170 struct snd_control *ctl = SAMPLE_MIXER_PRIV_GET_CTL_PTR(priv, ctl_idx); in create_enum_ctl()
177 static int sample_mixer_form_ctls(struct sample_mixer_priv *priv, int ctl_idx) in sample_mixer_form_ctls() argument
179 create_integer_ctl(priv, ctl_idx, 0, NULL); in sample_mixer_form_ctls()
181 create_byte_array_ctl(priv, ctl_idx, 0, NULL); in sample_mixer_form_ctls()
183 create_tlv_ctl(priv, ctl_idx, 0, NULL); in sample_mixer_form_ctls()
185 create_enum_ctl(priv, ctl_idx, &priv->sample_enum, 0, NULL); in sample_mixer_form_ctls()
205 struct sample_mixer_priv *priv = plugin->priv; in sample_mixer_subscribe_events() local
207 priv->event_cb = event_cb; in sample_mixer_subscribe_events()
217 static int sample_mixer_alloc_ctls(struct sample_mixer_priv *priv) in sample_mixer_alloc_ctls() argument
221 priv->ctls = calloc(priv->ctl_count, sizeof(*priv->ctls)); in sample_mixer_alloc_ctls()
222 if (!priv->ctls) { in sample_mixer_alloc_ctls()
226 priv->sample_enum.items = ARRAY_SIZE(sample_enum_text); in sample_mixer_alloc_ctls()
227 priv->sample_enum.texts = calloc(priv->sample_enum.items, sizeof(*priv->sample_enum.texts)); in sample_mixer_alloc_ctls()
230 priv->sample_enum.texts[i] = strdup(sample_enum_text[i]); in sample_mixer_alloc_ctls()
232 return sample_mixer_form_ctls(priv, 0); in sample_mixer_alloc_ctls()
235 static void sample_mixer_free_ctls(struct sample_mixer_priv *priv) in sample_mixer_free_ctls() argument
240 for (i = 0; i < priv->ctl_count; i++) { in sample_mixer_free_ctls()
241 ctl = SAMPLE_MIXER_PRIV_GET_CTL_PTR(priv, i); in sample_mixer_free_ctls()
246 num_enums = priv->sample_enum.items; in sample_mixer_free_ctls()
249 free(priv->sample_enum.texts[i]); in sample_mixer_free_ctls()
251 free(priv->sample_enum.texts); in sample_mixer_free_ctls()
252 priv->ctl_count = 0; in sample_mixer_free_ctls()
254 if (priv->ctls) { in sample_mixer_free_ctls()
255 free(priv->ctls); in sample_mixer_free_ctls()
256 priv->ctls = NULL; in sample_mixer_free_ctls()
263 struct sample_mixer_priv *priv = mp->priv; in sample_mixer_close() local
266 if (priv->event_cb) in sample_mixer_close()
267 priv->event_cb(mp); in sample_mixer_close()
269 sample_mixer_free_ctls(priv); in sample_mixer_close()
270 free(priv); in sample_mixer_close()
278 struct sample_mixer_priv *priv; in sample_mixer_open() local
287 priv = calloc(1, sizeof(*priv)); in sample_mixer_open()
288 if (!priv) { in sample_mixer_open()
293 priv->ctl_count = ctl_cnt; in sample_mixer_open()
294 ret = sample_mixer_alloc_ctls(priv); in sample_mixer_open()
299 mp->controls = priv->ctls; in sample_mixer_open()
300 mp->num_controls = priv->ctl_count; in sample_mixer_open()
301 mp->priv = priv; in sample_mixer_open()
307 sample_mixer_free_ctls(priv); in sample_mixer_open()
308 free(priv); in sample_mixer_open()