Lines Matching refs:lctl

105 static int snd_ctl_led_get(struct snd_ctl_led_ctl *lctl)  in snd_ctl_led_get()  argument
109 struct snd_kcontrol *kctl = lctl->kctl; in snd_ctl_led_get()
115 info.id.index += lctl->index_offset; in snd_ctl_led_get()
116 info.id.numid += lctl->index_offset; in snd_ctl_led_get()
142 struct snd_ctl_led_ctl *lctl; in snd_ctl_led_set_state() local
155 list_for_each_entry(lctl, &led->controls, list) { in snd_ctl_led_set_state()
156 if (lctl->kctl == kctl && lctl->index_offset == ioff) in snd_ctl_led_set_state()
158 UPDATE_ROUTE(route, snd_ctl_led_get(lctl)); in snd_ctl_led_set_state()
161 lctl = kzalloc(sizeof(*lctl), GFP_KERNEL); in snd_ctl_led_set_state()
162 if (lctl) { in snd_ctl_led_set_state()
163 lctl->card = card; in snd_ctl_led_set_state()
164 lctl->access = access; in snd_ctl_led_set_state()
165 lctl->kctl = kctl; in snd_ctl_led_set_state()
166 lctl->index_offset = ioff; in snd_ctl_led_set_state()
167 list_add(&lctl->list, &led->controls); in snd_ctl_led_set_state()
168 UPDATE_ROUTE(route, snd_ctl_led_get(lctl)); in snd_ctl_led_set_state()
188 struct snd_ctl_led_ctl *lctl; in snd_ctl_led_find() local
193 list_for_each_entry(lctl, controls, list) in snd_ctl_led_find()
194 if (lctl->kctl == kctl && lctl->index_offset == ioff) in snd_ctl_led_find()
195 return lctl; in snd_ctl_led_find()
203 struct snd_ctl_led_ctl *lctl; in snd_ctl_led_remove() local
207 lctl = snd_ctl_led_find(kctl, ioff); in snd_ctl_led_remove()
208 if (lctl && (access == 0 || access != lctl->access)) { in snd_ctl_led_remove()
209 ret = lctl->access; in snd_ctl_led_remove()
210 list_del(&lctl->list); in snd_ctl_led_remove()
211 kfree(lctl); in snd_ctl_led_remove()
283 static void snd_ctl_led_ctl_destroy(struct snd_ctl_led_ctl *lctl) in snd_ctl_led_ctl_destroy() argument
285 list_del(&lctl->list); in snd_ctl_led_ctl_destroy()
286 kfree(lctl); in snd_ctl_led_ctl_destroy()
292 struct snd_ctl_led_ctl *lctl, *_lctl; in snd_ctl_led_clean() local
297 list_for_each_entry_safe(lctl, _lctl, &led->controls, list) in snd_ctl_led_clean()
298 if (!card || lctl->card == card) in snd_ctl_led_clean()
299 snd_ctl_led_ctl_destroy(lctl); in snd_ctl_led_clean()
306 struct snd_ctl_led_ctl *lctl, *_lctl; in snd_ctl_led_reset() local
319 list_for_each_entry_safe(lctl, _lctl, &led->controls, list) in snd_ctl_led_reset()
320 if (lctl->card == card) { in snd_ctl_led_reset()
321 vd = &lctl->kctl->vd[lctl->index_offset]; in snd_ctl_led_reset()
323 snd_ctl_led_ctl_destroy(lctl); in snd_ctl_led_reset()
602 struct snd_ctl_led_ctl *lctl; in list_show() local
611 list_for_each_entry(lctl, &led_card->led->controls, list) { in list_show()
612 if (lctl->card != card) in list_show()
617 lctl->kctl->id.numid + lctl->index_offset); in list_show()