Lines Matching refs:lctl

104 static int snd_ctl_led_get(struct snd_ctl_led_ctl *lctl)  in snd_ctl_led_get()  argument
108 struct snd_kcontrol *kctl = lctl->kctl; in snd_ctl_led_get()
114 info.id.index += lctl->index_offset; in snd_ctl_led_get()
115 info.id.numid += lctl->index_offset; in snd_ctl_led_get()
141 struct snd_ctl_led_ctl *lctl; in snd_ctl_led_set_state() local
156 list_for_each_entry(lctl, &led->controls, list) { in snd_ctl_led_set_state()
157 if (lctl->kctl == kctl && lctl->index_offset == ioff) in snd_ctl_led_set_state()
159 UPDATE_ROUTE(route, snd_ctl_led_get(lctl)); in snd_ctl_led_set_state()
162 lctl = kzalloc(sizeof(*lctl), GFP_KERNEL); in snd_ctl_led_set_state()
163 if (lctl) { in snd_ctl_led_set_state()
164 lctl->card = card; in snd_ctl_led_set_state()
165 lctl->access = access; in snd_ctl_led_set_state()
166 lctl->kctl = kctl; in snd_ctl_led_set_state()
167 lctl->index_offset = ioff; in snd_ctl_led_set_state()
168 list_add(&lctl->list, &led->controls); in snd_ctl_led_set_state()
169 UPDATE_ROUTE(route, snd_ctl_led_get(lctl)); in snd_ctl_led_set_state()
186 struct snd_ctl_led_ctl *lctl; in snd_ctl_led_find() local
191 list_for_each_entry(lctl, controls, list) in snd_ctl_led_find()
192 if (lctl->kctl == kctl && lctl->index_offset == ioff) in snd_ctl_led_find()
193 return lctl; in snd_ctl_led_find()
201 struct snd_ctl_led_ctl *lctl; in snd_ctl_led_remove() local
205 lctl = snd_ctl_led_find(kctl, ioff); in snd_ctl_led_remove()
206 if (lctl && (access == 0 || access != lctl->access)) { in snd_ctl_led_remove()
207 ret = lctl->access; in snd_ctl_led_remove()
208 list_del(&lctl->list); in snd_ctl_led_remove()
209 kfree(lctl); in snd_ctl_led_remove()
290 static void snd_ctl_led_ctl_destroy(struct snd_ctl_led_ctl *lctl) in snd_ctl_led_ctl_destroy() argument
292 list_del(&lctl->list); in snd_ctl_led_ctl_destroy()
293 kfree(lctl); in snd_ctl_led_ctl_destroy()
300 struct snd_ctl_led_ctl *lctl; in snd_ctl_led_clean() local
305 list_for_each_entry(lctl, &led->controls, list) in snd_ctl_led_clean()
306 if (!card || lctl->card == card) { in snd_ctl_led_clean()
307 snd_ctl_led_ctl_destroy(lctl); in snd_ctl_led_clean()
317 struct snd_ctl_led_ctl *lctl; in snd_ctl_led_reset() local
333 list_for_each_entry(lctl, &led->controls, list) in snd_ctl_led_reset()
334 if (lctl->card == card) { in snd_ctl_led_reset()
335 vd = &lctl->kctl->vd[lctl->index_offset]; in snd_ctl_led_reset()
337 snd_ctl_led_ctl_destroy(lctl); in snd_ctl_led_reset()
619 struct snd_ctl_led_ctl *lctl; in list_show() local
628 list_for_each_entry(lctl, &led_card->led->controls, list) { in list_show()
629 if (lctl->card != card) in list_show()
634 lctl->kctl->id.numid + lctl->index_offset); in list_show()