Lines Matching refs:jack_kctl

63 	struct snd_jack_kctl *jack_kctl, *tmp_jack_kctl;  in snd_jack_dev_free()  local
65 list_for_each_entry_safe(jack_kctl, tmp_jack_kctl, &jack->kctl_list, list) { in snd_jack_dev_free()
66 list_del_init(&jack_kctl->list); in snd_jack_dev_free()
67 snd_ctl_remove(card, jack_kctl->kctl); in snd_jack_dev_free()
121 static void snd_jack_inject_report(struct snd_jack_kctl *jack_kctl, int status) in snd_jack_inject_report() argument
127 if (!jack_kctl) in snd_jack_inject_report()
130 jack = jack_kctl->jack; in snd_jack_inject_report()
132 if (jack_kctl->sw_inject_enable) in snd_jack_inject_report()
133 snd_kctl_jack_report(jack->card, jack_kctl->kctl, in snd_jack_inject_report()
134 status & jack_kctl->mask_bits); in snd_jack_inject_report()
141 int testbit = ((SND_JACK_BTN_0 >> i) & jack_kctl->mask_bits); in snd_jack_inject_report()
149 int testbit = ((1 << i) & jack_kctl->mask_bits); in snd_jack_inject_report()
164 struct snd_jack_kctl *jack_kctl = file->private_data; in sw_inject_enable_read() local
168 len = scnprintf(buf, sizeof(buf), "%s: %s\t\t%s: %i\n", "Jack", jack_kctl->kctl->id.name, in sw_inject_enable_read()
169 "Inject Enabled", jack_kctl->sw_inject_enable); in sw_inject_enable_read()
178 struct snd_jack_kctl *jack_kctl = file->private_data; in sw_inject_enable_write() local
188 if (jack_kctl->sw_inject_enable == (!!enable)) in sw_inject_enable_write()
191 jack_kctl->sw_inject_enable = !!enable; in sw_inject_enable_write()
193 if (!jack_kctl->sw_inject_enable) in sw_inject_enable_write()
194 snd_jack_report(jack_kctl->jack, jack_kctl->jack->hw_status_cache); in sw_inject_enable_write()
202 struct snd_jack_kctl *jack_kctl = file->private_data; in jackin_inject_write() local
207 if (!jack_kctl->sw_inject_enable) in jackin_inject_write()
215 snd_jack_inject_report(jack_kctl, !!enable ? jack_kctl->mask_bits : 0); in jackin_inject_write()
223 struct snd_jack_kctl *jack_kctl = file->private_data; in jack_kctl_id_read() local
227 len = scnprintf(buf, sizeof(buf), "%s\n", jack_kctl->kctl->id.name); in jack_kctl_id_read()
261 struct snd_jack_kctl *jack_kctl = file->private_data; in jack_kctl_mask_bits_read() local
265 len = parse_mask_bits(jack_kctl->mask_bits, buf, sizeof(buf)); in jack_kctl_mask_bits_read()
274 struct snd_jack_kctl *jack_kctl = file->private_data; in jack_kctl_status_read() local
278 len = scnprintf(buf, sizeof(buf), "%s\n", jack_kctl->kctl->private_value ? in jack_kctl_status_read()
289 struct snd_jack_kctl *jack_kctl = file->private_data; in jack_type_read() local
293 len = parse_mask_bits(jack_kctl->jack->type, buf, sizeof(buf)); in jack_type_read()
338 struct snd_jack_kctl *jack_kctl) in snd_jack_debugfs_add_inject_node() argument
344 if (strstr(jack_kctl->kctl->id.name, "Phantom")) in snd_jack_debugfs_add_inject_node()
347 tname = kstrdup(jack_kctl->kctl->id.name, GFP_KERNEL); in snd_jack_debugfs_add_inject_node()
356 jack_kctl->jack_debugfs_root = debugfs_create_dir(tname, jack->card->debugfs_root); in snd_jack_debugfs_add_inject_node()
359 debugfs_create_file("sw_inject_enable", 0644, jack_kctl->jack_debugfs_root, jack_kctl, in snd_jack_debugfs_add_inject_node()
362 debugfs_create_file("jackin_inject", 0200, jack_kctl->jack_debugfs_root, jack_kctl, in snd_jack_debugfs_add_inject_node()
365 debugfs_create_file("kctl_id", 0444, jack_kctl->jack_debugfs_root, jack_kctl, in snd_jack_debugfs_add_inject_node()
368 debugfs_create_file("mask_bits", 0444, jack_kctl->jack_debugfs_root, jack_kctl, in snd_jack_debugfs_add_inject_node()
371 debugfs_create_file("status", 0444, jack_kctl->jack_debugfs_root, jack_kctl, in snd_jack_debugfs_add_inject_node()
375 debugfs_create_file("type", 0444, jack_kctl->jack_debugfs_root, jack_kctl, in snd_jack_debugfs_add_inject_node()
381 static void snd_jack_debugfs_clear_inject_node(struct snd_jack_kctl *jack_kctl) in snd_jack_debugfs_clear_inject_node() argument
383 debugfs_remove(jack_kctl->jack_debugfs_root); in snd_jack_debugfs_clear_inject_node()
384 jack_kctl->jack_debugfs_root = NULL; in snd_jack_debugfs_clear_inject_node()
388 struct snd_jack_kctl *jack_kctl) in snd_jack_debugfs_add_inject_node() argument
393 static void snd_jack_debugfs_clear_inject_node(struct snd_jack_kctl *jack_kctl) in snd_jack_debugfs_clear_inject_node() argument
400 struct snd_jack_kctl *jack_kctl; in snd_jack_kctl_private_free() local
402 jack_kctl = kctl->private_data; in snd_jack_kctl_private_free()
403 if (jack_kctl) { in snd_jack_kctl_private_free()
404 snd_jack_debugfs_clear_inject_node(jack_kctl); in snd_jack_kctl_private_free()
405 list_del(&jack_kctl->list); in snd_jack_kctl_private_free()
406 kfree(jack_kctl); in snd_jack_kctl_private_free()
410 static void snd_jack_kctl_add(struct snd_jack *jack, struct snd_jack_kctl *jack_kctl) in snd_jack_kctl_add() argument
412 jack_kctl->jack = jack; in snd_jack_kctl_add()
413 list_add_tail(&jack_kctl->list, &jack->kctl_list); in snd_jack_kctl_add()
414 snd_jack_debugfs_add_inject_node(jack, jack_kctl); in snd_jack_kctl_add()
420 struct snd_jack_kctl *jack_kctl; in snd_jack_kctl_new() local
431 jack_kctl = kzalloc(sizeof(*jack_kctl), GFP_KERNEL); in snd_jack_kctl_new()
433 if (!jack_kctl) in snd_jack_kctl_new()
436 jack_kctl->kctl = kctl; in snd_jack_kctl_new()
437 jack_kctl->mask_bits = mask; in snd_jack_kctl_new()
439 kctl->private_data = jack_kctl; in snd_jack_kctl_new()
442 return jack_kctl; in snd_jack_kctl_new()
461 struct snd_jack_kctl *jack_kctl; in snd_jack_add_new_kctl() local
463 jack_kctl = snd_jack_kctl_new(jack->card, name, mask); in snd_jack_add_new_kctl()
464 if (!jack_kctl) in snd_jack_add_new_kctl()
467 snd_jack_kctl_add(jack, jack_kctl); in snd_jack_add_new_kctl()
491 struct snd_jack_kctl *jack_kctl = NULL; in snd_jack_new() local
502 jack_kctl = snd_jack_kctl_new(card, id, type); in snd_jack_new()
503 if (!jack_kctl) in snd_jack_new()
544 snd_jack_kctl_add(jack, jack_kctl); in snd_jack_new()
631 struct snd_jack_kctl *jack_kctl; in snd_jack_report() local
642 list_for_each_entry(jack_kctl, &jack->kctl_list, list) in snd_jack_report()
643 if (jack_kctl->sw_inject_enable) in snd_jack_report()
644 mask_bits |= jack_kctl->mask_bits; in snd_jack_report()
646 snd_kctl_jack_report(jack->card, jack_kctl->kctl, in snd_jack_report()
647 status & jack_kctl->mask_bits); in snd_jack_report()